Excel2010、エクセルでIEを操作する方法
Excel2010は、手頃な価格で高機能な表計算ソフトです。
表計算、グラフ表示、マクロによる自動化など色々な機能が有ります。
しかし、これだけでは単に表計算ソフトでしかありません。
現在はインターネットの時代です。エクセルとWebサイトを結びつければ、大変便利になります。
エクセルでWebサイトにアクセスする方法を模索しました。
使用したパソコンは、下記のソフトを使用していました。
OS : Windows7(64bit)
表計算ソフト : Excel2010(32bit)
以下、Excel2010、エクセルでIEを操作する方法を記載して行きます。
(項目1)
・IEを起動してYahoo! JAPANに行き、エクセル将棋館を検索する方法を紹介します。
・本ページは、
三流君VBAでIE操作 ドキュメント操作 Documentを参照に作成しました。
(項目2)
・大きな流れは、下記の通りです。
IE起動 → キーワード入力 → 検索実行
・IE起動
Dim myIE As Object
Set myIE =
CreateObject("InternetExplorer.Application")
myIE.
Navigate "https://www.yahoo.co.jp/"
myIE.
Visible =
True
Call sub_wait(
myIE)
・キーワード入力
myIE.
Document.
all("srchtxt").
Value = "エクセル将棋館"
Call sub_wait(
myIE)
・検索実行
myIE.
Document.
all("srchbtn").
Click
Call sub_wait(
myIE)
(項目3)
・上記のポイントとなるのは、.
Document.
all("○○○")の○○○です。
・Webサイトを操作するには、ドキュメントにアクセスする必要が有ります。
・ドキュメントにアクセスする為には、○○○を指定します。
・これを調べるには、Chromeで当該URLを表示し、右クリックして「要素を検証」を選択します。
・キーワード入力を調べると、
srchtxtが見つかりました。
・検索実行を調べると、
srchbtnが見つかりました。
(項目4)
・IE自体を操作するには、ExecWBメソッドが使用できます。
myIE.
ExecWB 17, 0
'全てを選択
myIE.
ExecWB 12, 0
'コピー
・下記URLが参考になります。
InternetExplorer object (Windows)
ExecWB method (Windows)
OLECMDID enumeration (COM)
OLECMDEXECOPT enumeration (COM)
(項目5)
・全部のソースコードは、下記の通りです。
Option Explicit
'Sleep関数
Declare Sub Sleep Lib "kernel32" (
ByVal dwMilliseconds As Long)
Sub main()
'変数宣言
Dim myIE As Object
'変数設定
Set myIE =
CreateObject("InternetExplorer.Application")
'IE操縦
myIE.
Navigate "https://www.yahoo.co.jp/"
'IE表示
myIE.
Visible =
True
'一時待機
Call sub_wait(
myIE)
'キーワード入力
'<input name="p" id="srchtxt" class="bdA7"
type="text" value="" autocomplete="off">
myIE.
Document.
all("srchtxt").
Value = "エクセル将棋館"
Call sub_wait(
myIE)
'検索実行
'<input type="submit" id="srchbtn" class="srchbtn"
value="検索">
myIE.
Document.
all("srchbtn").
Click
Call sub_wait(
myIE)
' 'IEを終了
' myIE.Quit
' Set myIE = Nothing
End Sub
Sub sub_wait(
myIE)
Do While myIE.
Busy =
True Or myIE.
readystate <> 4
DoEvents
Loop
Sleep 100
End Sub
(項目6)
・以上で、Excel2010、エクセルでIEを操作する方法は終了です。