0

私はVBScriptを初めて使用し、CRA Webサイトhttp://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.htmlをExcelで使用して給与計算を自動化しようとしています. 私は運が悪いので、数日間これを理解しようとしています。問題は非常に単純だと思います。上記の Web サイトのページの下部にある [同意する] ボタンをクリックしようとしています。

私が書いたコードは以下のとおりですが、次の行では実際にボタンをクリックする方法がわかりません。何をしようとしても、ここで常にエラーが発生します。

 objIE.Application.document.getElementById("??????").Click

以下の HTML コードには ID がありません。getElementByType、getElementByValue など、他のさまざまなことも試してみましたが、うまくいきませんでした

VBScript

Sub test()

Set objIE = CreateObject("InternetExplorer.Application")

objIE.Application.Visible = True
objIE.Application.navigate "http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html"

Do While objIE.Application.Busy Or _
    objIE.Application.readyState <> 4
    DoEvents
Loop

objIE.Application.document.getElementById("??????").Click

Do While objIE.Application.Busy Or _
    objIE.Application.readyState <> 4
    DoEvents
Loop

End Sub

HTML コード

<div class="alignCenter">
<input type="button" title="I accept - Begin the calculation" value="I accept" onclick="parent.location='https://apps.cra-arc.gc.ca/ebci/rhpd/startLanguage.do?lang=English'" />
<input type="button" title="I do not accept - Return to Payroll" value="I do not accept" onclick="parent.location='/tx/bsnss/tpcs/pyrll/menu-eng.html'" />
</div>

誰かの助けをいただければ幸いです。

ありがとう、

マシュー

4

1 に答える 1

2

DoEventsVBScript ではVB/VBA 関数を使用できないことに注意してください。ただし、ここに作業コードがあります。

Call test

Sub test()

    With CreateObject("InternetExplorer.Application")

        .Visible = True
        .Navigate "http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html"

        Do While .Busy Or .readyState <> 4
            WScript.Sleep 50
        Loop

        Set oInputs = .Document.getElementsByTagName("input")

        For Each elm In oInputs
            If elm.Value = "I accept" Then
                elm.Click
                Exit For
            End If
        Next

        Do While .Busy Or .readyState <> 4
            WScript.Sleep 50
        Loop

        End With

End Sub
于 2013-02-12T00:07:46.983 に答える