VBAのIE(InternetExplorer)制御に便利なサブルーチンを紹介しています。
Function postGet(Optional areaName As String) As String
Dim objIE90 As InternetExplorer
Dim objTag90 As Object
Dim i As Integer, i2 As Integer
'郵便番号ページをIE(InternetExplorer)で起動
Call ieView(objIE90, "http://www.vba-ie.net/code/postdata.html", False)
If areaName = "" Then
'都道府県テーブルからランダムでテーブル番号を取得
i = makeRndInt(0, 46)
'指定したテーブルのセルからランダムでセル番号を取得
i2 = makeRndInt(1, 200)
'ランダムで取得したセルの番号の郵便番号を抽出
postGet = objIE90.document.getElementsByTagName("table")(i).Cells(i2).innerText
Else
'テーブルデータを抽出
For Each objTag90 In objIE90.document.getElementsByTagName("table")
'地域テーブルを探す
If InStr(objTag90.outerHTML, areaName) > 0 Then
'ランダムでセルの番号を取得
i = makeRndInt(1, 200)
'ランダムで取得したセルの番号の郵便番号を抽出
postGet = objTag90.Cells(i).innerText
Exit For
End If
Next
End If
'IEオブジェクトを閉じる
objIE90.Quit
End Function
こちらは戻り値が必要ですので、functionプロシージャで対応しています。引数には「都道府県名」の1つが設定されています。以下が引数の詳細になります。
構文 | postGet(areaName) | ||||
---|---|---|---|---|---|
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
areaName | String | 都道府県名 | "北海道","東京都", "大阪府","福岡県" | ● |
「areaName」は任意項目です。「areaName」には、取得したい郵便場号の都道府県名を設定します。指定しない場合は、ランダムで都道府県を選択します。