VBAでIE操作に役立つニックネームをランダムで自動生成「nicknameGet 」

VBAのIE(InternetExplorer)制御に便利なサブルーチンを紹介しています。

「nicknameGetサブルーチン」の詳しい説明は以下よりご確認ください。
ニックネームをランダム自動生成「nicknameGet」の解説
Function nicknameGet(Optional num As Integer = 1, Optional numPlus As Boolean = False) As Collection

    Dim objIE92 As InternetExplorer
    Dim objTag92 As Object
    Dim i As Integer, n As Integer
    Dim tmp As Variant
    Dim strN As String, strA As String, arrInt As String, strNum As String
    
    Dim arrNickName As New Collection
    
    'ニックネームページをIE(InternetExplorer)で起動
    Call ieView(objIE92, "http://www.vba-ie.net/code/nicknamedata.html", False)
    
    '語尾にプラスする枝番
    If numPlus = True Then
        strNum = makeRndInt(50, 9999)
    Else
        strNum = ""
    End If
    
    'ランダムでテーブルの行番号を取得(語頭用)・・・接続回数分(num)
    For n = 1 To num
        arrInt = arrInt & "," & makeRndInt(1, 50)
    Next n
    
    '先頭の,を削除
    arrInt = Right(arrInt, Len(arrInt) - 1)
    
    'テーブルの行番号を配列に格納(語頭用)
    tmp = Split(arrInt, ",")
    
    Set objTag92 = objIE92.document.getElementsByTagName("table")(0)
    
    '語尾を取得(配列回数分)
    For i = LBound(tmp) To UBound(tmp)
    
        strN = strN & objTag92.Rows(tmp(i)).Cells(0).innerText  'ニックネーム
        strA = strA & objTag92.Rows(tmp(i)).Cells(1).innerText  'ニックネーム(ローマ字)

    Next i
    
    'ランダムでテーブルの行番号を取得(語尾用)
    i = makeRndInt(1, 50)

    strN = strN & objTag92.Rows(i).Cells(2).innerText & strNum  'ニックネーム
    strA = strA & objTag92.Rows(i).Cells(3).innerText & strNum  'ニックネーム(ローマ字)


    arrNickName.Add strN, "N" 'ニックネーム
    arrNickName.Add StrConv(strN, vbKatakana), "NKW"   'ニックネーム(カナ[全角])
    arrNickName.Add StrConv(StrConv(strN, vbKatakana), vbNarrow), "NKN"   'ニックネーム(カナ[半角])
    arrNickName.Add StrConv(StrConv(strA, vbWide), vbUpperCase), "NAWU"   'ニックネーム(ローマ字[全角][大文字])
    arrNickName.Add StrConv(strA, vbUpperCase), "NAWL"    'ニックネーム(ローマ字[全角][小文字])
    arrNickName.Add StrConv(strA, vbWide), "NANU"    'ニックネーム(ローマ字[半角][大文字])
    arrNickName.Add strA, "NANL"    'ニックネーム(ローマ字[半角][小文字])

    Set nicknameGet = arrNickName

    'IEオブジェクトを閉じる
    objIE92.Quit

End Function

こちらは戻り値が必要ですので、functionプロシージャで対応しています。引数には「連結回数」「数字の有無」の2つが設定されています。以下が引数の詳細になります。

nicknameGet([連結回数][,数字の有無])
構文nicknameGet([num][,numPlus])
引数名データ型内容値の事例初期値省略
numInteger連結回数1,3,51
numPlusBoolean数字の有無True,FalseFalse
戻り値
データ配列key命名ルール内容
ニックネーム(ひらがな)NNickNameNickName(ニックネーム)の頭文字をkey設定。
ニックネーム(カナ[全角])NKWNickName Ktakana WideNickName(ニックネーム),Katanaka(カタカナ),Wide(全角)の頭文字をkey設定。
ニックネーム(カナ[半角])NKNNickName Ktakana NarrowNickName(ニックネーム),Katanaka(カタカナ),Narrow(半角)の頭文字をkey設定。
ニックネーム(ローマ字[全角][大文字])NAWUNickName Alphabet Wide UpperNickName(ニックネーム),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。
ニックネーム(ローマ字[全角][小文字])NAWLNickName Alphabet Wide NowerNickName(ニックネーム),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。
ニックネーム(ローマ字[半角][大文字])NANUNickName Alphabet Narrow UpperNickName(ニックネーム),Alphabet(ローマ字),Wide(全角),Upper(大文字)の頭文字をkey設定。
ニックネーム(ローマ字[半角][小文字])NANLNickName Alphabet Narrow NowerNickName(ニックネーム),Alphabet(ローマ字),Wide(全角),Lower(小文字)の頭文字をkey設定。

「num」「numPlus」は任意項目です。「num」には、ニックネームの語頭の連結回数を設定します。現在、ニックネームページには語頭×50、語尾×50ですので、全パターンは2500パターンあります。
一意のニックネームを要求される場合は、同一ニックネームになる恐れがありますので、語頭部分の連結回数を指定することで、パターンを増やすことができます。例えば、連結回数を3に設定した場合、語頭×50×50×50、語尾×50で全パターン625万パターンになります。次に「numPlus」ですが、こちらは語尾に任意の数字を連結するかの有無になります。「True」を選択するとニックネームの語尾に50~9999のいずれかの数値が連結されます。初期設定は「False」に設定されているので、数字連結をしない場合は設定しないようにしてください。