非表示にできる< 目次 >
本記事で出来ること
-出来ること-
・
どのような用途で必要?
1 2 3 4 5 6 7 8 9 |
Dim IEAP As Object ’★ここでIEブラウザを立ち上げる+同時にIEAP にSet(格納)されている。 Set IEAP = CreateObject("InternetExplorer.Application") IEAP.Visible = True '★変数IEAPにIEブラウザ格納されているから、navigateが有効になる。 ' だから、IEブラウザは yahooを開きにいく。 IEAP.navigate "http://yahoo.co.jp" |
コード(解説はコード内コメント参照)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Sub タスクバー内_IEブラウザ変数格納() '★変数のセット Dim ShellObj As Object Dim SWindows As Object Dim IEAP As Object 'IEブラウザの格納先(ここにいれる) Dim FSWFlag As Boolean Dim windowname As String 'IEブラウザのウィンドウタイトル格納先 '★格納したいIEブラウザのウィンドウタイトル(文字列)を変数(windowname)に格納 windowname = "Yahoo" 'Point:仮に、タスクバー内に複数のIEブラウザがあり、 ' IEブラウザのウィンドウタイトル内で ' 「Yahoo金融」と「Yahoo旅行」があったとした場合、 ' どちらも「Yahoo」が含まれ、重複エラーになる可能性があるため、 ' 「Yahoo金融」を制御したいときは「Yahoo金」までは 入れてあげる必要有。 '★既に開いているIEブラウザを変数に格納する(捕まえる) Set ShellObj = CreateObject("Shell.Application") Set SWindows = ShellObj.Windows() FSWFlag = False For Each IEAP In SWindows If InStr(IEAP, "Internet Explorer") <> 0 And Left(IEAP.LocationName, Len(windowname)) = "Yahoo" Then FSWFlag = True MsgBox "IEAPへ格納成功", vbInformation + vbOKCancel, "IEブラウザ制御" ' 成功したらポップアップ Exit For End If Next If Not FSWFlag Then MsgBox "対象のIEブラウザが開いていません", vbCritical + vbOKCancel, "オープンエラー" Exit Sub End If End Sub |
おわりに
いかがでしたでしょうか。
今後もVBA↔IEブラウザ制御については需要があると思いますので、投稿していこうと思います。
また、ゆくゆくは『 1から始めるVBA ↔IEブラウザ 連携 講座』もシリーズものとして投稿し少しでも読者の方の役に立てれば良いなと考えておりますの、今後とも どうぞよろしくお願いいたします。