初心者でもできるVBA講座【入力編】

2015/09/24

はじめに

今回は、前回の「クリック編」に引き続き、
検索窓などテキストボックスへの文字入力と
ボタンのクリックの仕方を紹介します!

入力手順

1、まず、いつもの通りIEを起動し、
開きたいURLで開きます。

※わからない方はこちら
初心者でもできるVBA講座【マクロでIEを開く】

2、テキストボックスのタグを調べて入力

3、決定ボタンクリック

では、試しにヤフーのトップページの検索窓に
“ヤフースポーツ”を入力して検索してみましょう!

コーディング


○入力するテキストボックスのタグを調べる
・検索窓内で右クリック→要素の検証

写真から<p>タグなことがわかる。
<p>タグを探し、上から1番目のタグの値が
“ヤフースポーツ”となり検索窓に入力される。

IE.document.getElementsByName(“p”)(0).Value = “ヤフースポーツ”

○検索ボタンのIDを調べる
・検索ボタンの上で右クリック→要素の検証

IE.document.all.srchbtn.Click

IDが”srchbtn”なので”srchbtn”を探してクリック。

通して

Sub Main()
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”をクリック(リンククリック呼び出し)
検索画面のスポーツナビが開かれる

終了

※最後に下の画面にたどり着く

さいごに

テキストへの入力とボタンのクリックは
ブラウザ上の作業を自動化させたい時に
非常によく使うので覚えておきましょう!

法人向け人気レンタルサーバー
法人向け人気専用サーバー
個人向け人気レンタルサーバー