« ファイルをzip形式で圧縮する | メイン | VBAで正規表現を使用する »

VBAでインターネットに接続する

xillion.netのVABアプリはxillion.netのトップページへリンクしています。
ステップバイステップ等にも公開していますがshell関数でurl.dllを使用してネットアクセスを実現しています。
そのほかにもいろいろな方法がありますので、ここで紹介します。

1.url.dllを使用する方法
xillion.netではお馴染ですね。1行でかけるところがGood。
さらに、urlの代わりにファイル名を書けば、そのファイルを開くこともできます


Sub link1()

Shell "rundll32.exe url.dll,FileProtocolHandler http://www.xillion.net/"

End Sub

2.shdocvw.dllを使用する方法
こちらもshell関数を使用しますが、urlとして指定できるのは、インターネットショートカットのみのようでした。
そのため、一旦ショートカットを作成してから呼び出すようにしています。
ちょっとまどろっこしいですね。


Sub link2()

Dim FileA As String
FileA = "c:¥test.url"

Open FileA For Output As #1
Print #1, "[InternetShortcut]" & vbNewLine & "URL=http://www.xillion.net/"
Close #1
Shell "rundll32.exe shdocvw.dll,OpenURL " & FileA
Kill FileA

End Sub

3.hyperlinkオブジェクトを使用する方法
メーラーを起動するでも紹介しています。
hyperlinkオブジェクトはRangeオブジェクトはShapeオブジェクトに結び付けられていなければなりません。
下のコードでは、新たに作成したシートに左上のセルにhyperlinkオブジェクトを紐付けています。
.Followメソッドでリンクします。
オブジェクトを使用している点がshell関数との違いです。ちょっとオブジェクト指向っぽいですね。


Sub link3()

Dim sh As Worksheet

Set sh = Worksheets.Add
sh.Hyperlinks.Add sh.[a1], "http://www.xillion.net/"
sh.Hyperlinks(1).Follow
sh.Delete

End Sub

4.nternetExplorerオブジェクトを使用する
InternetExplorerオブジェクトというものがあります。これはVBAから直接ieのアプリケーションを操作するものです。
1.〜3.の方法はリンクだけですが、こちらの場合は操作が可能です。
.Navigateメソッドでリンクさせ、.busyプロパティの様子をみて表示待ちをしています。
さらにDocumentオブジェクトを触れますので、HTMLソースをいじったり、テキストを抽出したり、ボタンを押したりできるのです。
下の例では、背景の色を変更しています。~>これって色々遊べそうですね (^^)
VBAで簡単にネット検索ができそうです。。なんかアプリ作っちゃおうかな。。
※色々いじくりたい人はMicrosoft HTML Object Libraryの参照設定を有効にしておくとよいでしょう。


Sub link4()

Dim Browser As Object
'Dim Browser As InternetExplorer このオブジェクトを使用する場合はMicrosoft Internet Controlsへの参照設定が必要です。

Set Browser = CreateObject("InternetExplorer.Application")
Browser.navigate "http://xillion.net/"
Browser.Visible = True

Do While Browser.Busy
DoEvents
Loop

Do While Browser.document.readyState <> "complete"
DoEvents
Loop

Dim obj As Object

If Browser.document.frames.Length = 0 Then
Browser.document.bgcolor = &H88FF88
Else
For Each obj In Browser.document.all
If obj.tagname = "FRAME" Then
Browser.document.frames(obj.Name).document.bgcolor = &H88FF88
End If
Next
End If

End Sub

参照設定の方法
参照設定はVBAのメニューをツール(T)、参照設定(R)と辿ってください。
sansho1.gif

ダイアログが表示されますので、該当のライブラリーをチェックしましょう。
sansho2.gif

ひとつ前の投稿は「ファイルをzip形式で圧縮する」です。
次の投稿は「VBAで正規表現を使用する」です。

トラックバック

このエントリーのトラックバックURL:
http://www.xillion.net/mova/mt-tb.cgi/71

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年01月01日 00:00に投稿されたエントリーのページです。

メインページアーカイブページも見てください。

Powered by
Movable Type 3.34