初心者でもできるVBA講座【入力編】
2015/09/24
はじめに
今回は、前回の「クリック編」に引き続き、
検索窓などテキストボックスへの文字入力と
ボタンのクリックの仕方を紹介します!
入力手順
1、まず、いつもの通りIEを起動し、
開きたいURLで開きます。
※わからない方はこちら
初心者でもできるVBA講座【マクロでIEを開く】
2、テキストボックスのタグを調べて入力
3、決定ボタンクリック
では、試しにヤフーのトップページの検索窓に
“ヤフースポーツ”を入力して検索してみましょう!
コーディング
○入力するテキストボックスのタグを調べる
・検索窓内で右クリック→要素の検証
写真から<p>タグなことがわかる。
<p>タグを探し、上から1番目のタグの値が
“ヤフースポーツ”となり検索窓に入力される。
○検索ボタンのIDを調べる
・検索ボタンの上で右クリック→要素の検証
IDが”srchbtn”なので”srchbtn”を探してクリック。
通して
Dim IE As Object ’宣言
Set IE = CreateObject(“InternetExplorer.Application”) ’IE起動
IE.Visible = True ‘IE見える化
IE.navigate “http://www.yahoo.co.jp/” ‘指定のURLへ移動する
Call waitNavigation(IE) ’waitnavigation呼び出し
IE.document.getElementsByName(“p”)(0).Value = “ヤフースポーツ”
IE.document.all.srchbtn.Click ’検索クリック
Call waitNavigation(IE) ‘waitnavigation呼び出し
Call IELinkClick(IE, “スポーツナビ – Yahoo! JAPAN”) ’スポーツナビクリック
End Sub
‘待つ—————————————————–
Sub waitNavigation(IE As Object)
Do While IE.Busy Or IE.Readystate < 4
DoEvents
Loop
End Sub
‘リンククリック—————————————————–
Function IELinkClick(ByRef objIE As Object, ByVal anchorText As String)
Dim objLink As Object
For Each objLink In objIE.document.getElementsByTagName(“A”)
If objLink.innerText = anchorText Then
objIE.navigate objLink.href
Exit For
End If
Next
End Function
上記のコードでは、下のような処理を行っている。
スタート
↓
IEの起動
↓
指定のURLへ開く
・ヤフーのトップ画面に飛ぶ
↓
開かれるまで待機(”待つ”呼び出し)
↓
検索窓に”ヤフースポーツ”と入力(Pタグの上から一番上で検索し値を指示)
↓
“検索”ボタンをクリック(ボタンのIDより検索してクリック)
・”ヤフースポーツ”が検索される
↓
開かれるまで待機(”待つ”呼び出し)
↓
“スポーツナビ – Yahoo! JAPAN”をクリック(リンククリック呼び出し)
検索画面のスポーツナビが開かれる
↓
終了
※最後に下の画面にたどり着く
さいごに
テキストへの入力とボタンのクリックは
ブラウザ上の作業を自動化させたい時に
非常によく使うので覚えておきましょう!