VBAのIE(InternetExplorer)制御に便利なサブルーチンを紹介しています。
Function nameGet(Optional sex As String) As Collection
Dim objIE91 As InternetExplorer
Dim objTag91 As Object
Dim minInt As Integer, maxInt As Integer, LName As Integer, FName As Integer
Dim arrName As New Collection
'名前ページをIE(InternetExplorer)で起動
Call ieView(objIE91, "http://www.vba-ie.net/code/namedata.html", False)
If sex = "" Then
minInt = 1
maxInt = 100
ElseIf sex = "男" Then
minInt = 1
maxInt = 50
ElseIf sex = "女" Then
minInt = 51
maxInt = 100
End If
LName = makeRndInt(1, 100)
FName = makeRndInt(minInt, maxInt)
Set objTag91 = objIE91.document.getElementsByTagName("table")(0)
With objTag91.Rows(LName)
arrName.Add .Cells(0).innerText, "L" '姓(漢字)
arrName.Add .Cells(1).innerText, "LH" '姓(かな)
arrName.Add StrConv(.Cells(1).innerText, vbKatakana), "LKW" '姓(カナ[全角])
arrName.Add StrConv(StrConv(.Cells(1).innerText, vbKatakana), vbNarrow), "LKN" '姓(カナ[半角])
arrName.Add StrConv(StrConv(.Cells(2).innerText, vbWide), vbUpperCase), "LAWU" '姓(ローマ字[全角][大文字])
arrName.Add StrConv(.Cells(2).innerText, vbUpperCase), "LAWL" '姓(ローマ字[全角][小文字])
arrName.Add StrConv(.Cells(2).innerText, vbWide), "LANU" '姓(ローマ字[半角][大文字])
arrName.Add .Cells(2).innerText, "LANL" '姓(ローマ字[半角][小文字])
End With
With objTag91.Rows(FName)
arrName.Add .Cells(3).innerText, "F" '名(漢字)
arrName.Add .Cells(4).innerText, "FH" '名(かな)
arrName.Add StrConv(.Cells(4).innerText, vbKatakana), "FKW" '名(カナ[全角])
arrName.Add StrConv(StrConv(.Cells(4).innerText, vbKatakana), vbNarrow), "FKN" '名(カナ[半角])
arrName.Add StrConv(StrConv(.Cells(5).innerText, vbWide), vbUpperCase), "FAWU" '名(ローマ字[全角][大文字])
arrName.Add StrConv(.Cells(5).innerText, vbUpperCase), "FAWL" '名(ローマ字[全角][小文字])
arrName.Add StrConv(.Cells(5).innerText, vbWide), "FANU" '名(ローマ字[半角][大文字])
arrName.Add .Cells(5).innerText, "FANL" '名(ローマ字[半角][小文字])
End With
Set nameGet = arrName
'IEオブジェクトを閉じる
objIE91.Quit
End Function
こちらは戻り値が必要ですので、functionプロシージャで対応しています。引数には「性別」の1つが設定されています。以下が引数の詳細になります。
構文 | nameGet([sex]) | ||||
---|---|---|---|---|---|
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
sex | String | 性別文字列 | "男","女" | ● | |
戻り値 | |||||
データ | 配列key | 命名ルール | 内容 | ||
姓(漢字) | L | LastName | LastName(姓)の頭文字をkey設定。 | ||
姓(かな) | LH | LastName Hiragana | LastName(姓),Hiragana(ひらがな)の頭文字をkey設定。 | ||
姓(カナ[全角]) | LKW | LastName Ktakana Wide | LastName(姓),Katanaka(カタカナ),Wide(全角)の頭文字をkey設定。 | ||
姓(カナ[半角]) | LKN | LastName Ktakana Narrow | LastName(姓),Katanaka(カタカナ),Narrow(半角)の頭文字をkey設定。 | ||
姓(ローマ字[全角][大文字]) | LAWU | LastName Alphabet Wide Upper | LastName(姓),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。 | ||
姓(ローマ字[全角][小文字]) | LAWL | LastName Alphabet Wide Lower | LastName(姓),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。 | ||
姓(ローマ字[半角][大文字]) | LANU | LastName Alphabet Narrow Upper | LastName(姓),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。 | ||
姓(ローマ字[半角][小文字]) | LANL | LastName Alphabet Narrow Lower | LastName(姓),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。 | ||
名(漢字) | F | FirstName | FirstName(名)の頭文字をkey設定。 | ||
名(かな) | FH | FirstName Hiragana | FirstName(名),Hiragana(ひらがな)の頭文字をkey設定。 | ||
名(カナ[全角]) | FKW | FirstName Ktakana Wide | FirstName(名),Katanaka(カタカナ),Wide(全角)の頭文字をkey設定。 | ||
名(カナ[半角]) | FKN | FirstName Ktakana Narrow | FirstName(名),Katanaka(カタカナ),Narrow(半角)の頭文字をkey設定。 | ||
名(ローマ字[全角][大文字]) | FAWU | FirstName Alphabet Wide Upper | FirstName(名),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。 | ||
名(ローマ字[全角][小文字]) | FAWL | FirstName Alphabet Wide Lower | FirstName(名),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。 | ||
名(ローマ字[半角][大文字]) | FANU | FirstName Alphabet Narrow Upper | FirstName(名),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。 | ||
名(ローマ字[半角][小文字]) | FANL | FirstName Alphabet Narrow Lower | FirstName(名),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。 |
「sex」は任意項目です。「sex」には、男性もしくは女性の名前を取得したい場合に設定します。「男」を指定すると男性の名前が、「女」を指定すると女性の名前が、指定しない場合は男性・女性のどちらかの名前が取得されます。