インターネット上の作業で、VBAでIEを操作しようと思いアドレスを取得して、新しいページを表示させることにしました。 削除


Message#2 2014年9月22日(月)13時16分
From: 管理人
今回は、ヤフオクのIE制御についてということですが、リンクをクリックする方法と直接URLにアクセスする方法もまとめてみました。

以下をコピーして実行してみてください。

直接URLで処理するよりは、リンクをクリックする方法の方が利便性はいいですが。


■ヤフオクのカテゴリをリンククリック
Sub sample()

Dim objIE As InternetExplorer

'InternetExplorerでヤフオクページを開く
Call ieView(objIE, "http://auctions.yahoo.co.jp/")

'コンピューターカテゴリをクリック
Call tagClick(objIE, "a", "コンピュータ")

End Sub

■ヤフオクのカテゴリURLを開く
Sub sample2()

Dim objIE As InternetExplorer

'InternetExplorerでヤフオクページを開く
Call ieView(objIE, "http://auctions.yahoo.co.jp/")

'コンピューターカテゴリリンクを開く
Call ieNavi(objIE, "http://list3.auctions.yahoo.co.jp/jp/コンピュータ/23336-category.html")

End Sub


■IE制御サブルーチン
Public objIE As InternetExplorer
Public objTag As Object
Public objOption As Object

Sub ieView(objIE As InternetExplorer, _
urlName As String, _
Optional viewFlg As Boolean = True, _
Optional ieTop As Integer = 0, _
Optional ieLeft As Integer = 0, _
Optional ieWidth As Integer = 1200, _
Optional ieHeight As Integer = 1000)

Set objIE = CreateObject("InternetExplorer.Application")

objIE.Visible = viewFlg

objIE.top = ieTop
objIE.Left = ieLeft
objIE.Width = ieWidth
objIE.Height = ieHeight

objIE.navigate urlName

Call ieCheck(objIE)

End Sub

Sub ieCheck(objIE As InternetExplorer)

Dim timeout As Date

timeout = Now + TimeSerial(0, 0, 10)

Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Sleep 100
If Now > timeout Then
objIE.Refresh
timeout = Now + TimeSerial(0, 0, 10)
End If
Loop

timeout = Now + TimeSerial(0, 0, 10)

Do Until objIE.document.readyState = "complete"
DoEvents
Sleep 100
If Now > timeout Then
objIE.Refresh
timeout = Now + TimeSerial(0, 0, 10)
End If
Loop

End Sub

Sub ieNavi(objIE As InternetExplorer, urlName As String)

objIE.navigate urlName

Call ieCheck(objIE)

End Sub

Sub tagClick(objIE As InternetExplorer, tag As String, tagStr As String)

For Each objTag In objIE.document.getElementsByTagName(tag)

If InStr(objTag.outerHTML, tagStr) > 0 Then

objTag.Click

Call ieCheck(objIE)

Exit For

End If
Next

End Sub

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com