フォームの入力【コード】

Sub IE操作()
Dim objIE As Object
Dim obj As Object
Dim slt As Object
Dim opt As Object
Dim s As Integer
Dim hname As String
Dim brd As String

'hnameの変数にB2のセルの値を代入
hname = Worksheets("情報").Range("B2").Value

'pasの変数にB3のセルの値を代入
brd = Worksheets("情報").Range("B3").Value

'InternetExplorerをobjIEに代入し、IEのプロセスを起動
Set objIE = CreateObject("InternetExplorer.Application")
    
    'IEを可視化するか = はい
    objIE.Visible = True
    
    'IEのリンク先URLは情報のシートのB1のセルのURL
    objIE.Navigate Worksheets("情報").Range("B1").Value
    
    'IEの表示待ち
    wait objIE
    
    'objIEのHTMLの中からinputのタグをobjに代入しながら確認
    For Each obj In objIE.Document.GetElementsByTagName("input")
        
        'ハンドルネームの記載
        
        'objに代入されたinputタグのIDがh_nameだった場合
        If obj.ID = "h_name" Then
            'objに代入されたinputタグにhnameに代入したB2のセルの値を入れる
            obj.Value = hname
        End If
        
        '生年月日の入力

        'objに代入されたinputタグのIDがbirthdayだった場合
        If obj.ID = "birthday" Then
            'objに代入されたinputタグにbrdに代入したB3のセルの値を入れる
            obj.Value = brd
        End If
        
        '性別の選択
        
        'objに代入されたinputタグのInnerTextがB4のセルと同じだった場合
        If Trim(obj.Value) = Worksheets("情報").Range("B4") Then
            'objに代入されたinputタグを選択する
            obj.Click
        End If
        
        '使用した事のあるOSの選択
        
        'B5のセルが空白じゃなかった場合
        If Range("B5") <> "" Then
            'objに代入されたinputタグのInnerTextがB5のセルと同じだった場合
            If obj.Value = Worksheets("情報").Range("B5") Then
                'objに代入されたinputタグにチェックを入れる
                obj.Checked = True
            End If
        End If
        
        'C5のセルが空白じゃなかった場合
        If Range("C5") <> "" Then
            'objに代入されたinputタグのInnerTextがC5のセルと同じだった場合
            If obj.Value = Worksheets("情報").Range("C5") Then
                'objに代入されたinputタグにチェックを入れる
                obj.Checked = True
            End If
        End If
        
        'D5のセルが空白じゃなかった場合
        If Range("D5") <> "" Then
            'objに代入されたinputタグのInnerTextがD5のセルと同じだった場合
            If obj.Value = Worksheets("情報").Range("D5") Then
                'objに代入されたinputタグにチェックを入れる
                obj.Checked = True
            End If
        End If
    Next
    
    'メモ欄への記載
        
    'objIEのHTMLの中からtextareaのタグをobjに代入しながら確認
    For Each obj In objIE.Document.GetElementsByTagName("textarea")
        
        'objに代入されたtextareaのタグのIDがnoteの場合
        If obj.ID = "note" Then
            'objに代入されたtextareaのタグにB7のセルの値を入れる
            obj.Value = Worksheets("情報").Range("B7").Value
        End If
    Next
    
    'Excelのバージョンの選択
    
    'objIEのHTMLの中からselectのタグをsltに代入しながら確認
    For Each slt In objIE.Document.GetElementsByTagName("select")
        
        'sltに代入されたselectタグのIDがversionだった場合
        If slt.ID = "version" Then
            'sltのタグに含まれるoptionのタグをoptに代入しながら確認
            For Each opt In slt.GetElementsByTagName("option")
                
                'optに代入されたoptionタグのInnerTextがB6のセルと同じだった場合
                If Trim(opt.InnerText) = Worksheets("情報").Range("B6").Value Then
                    'optに代入されたoptionタグを選択
                    opt.Selected = True
                End If
            Next
        End If
    Next
    
    '送信ボタンのクリック
    
    'objIEのHTMLにあるinputタグをobjに代入しながら確認
    For Each obj In objIE.Document.GetElementsByTagName("input")
        
        'objに代入されたinputタグのvalueの値が送信だった場合
        If Trim(obj.Value) = "送信" Then
            'objをクリック
            obj.Click
        End If
    Next
    
    '終了のメッセージボックスを表示
    MsgBox "終了"
    
    'objIEに代入したInternetExplorerを閉じる
    objIE.Quit
    
    'objIEを空にする
    Set objIE = Nothing
End Sub

Sub wait(objIE As Object)
'objIEに代入されたInternetExplorerがビジー状態、もしくは読み込み待ちの間、処理を待つ
Do While objIE.Busy Or objIE.ReadyState < 4
    DoEvents
Loop
End Sub