私は Web 上のラジオ ボタンを操作しようとしている VBA 初心者ですが、うまくいきません。私は何時間もグーグルで検索してきましたが、仕事をするために変更しようとしている大量のコード スニペットを見つけましたが、まったく成功しませんでした。それのいくつかのバリエーションである必要があります:
ie.Document.getElementsByName("name_of_radiobox").Item(0).Checked = True
ラジオ ボタンには 2 つのオプションがあります (Export with A または Export with B)。「A でエクスポート」が自動的に選択されます。明らかに、もう一方を選択する必要があります。HTML によると、ボタンの名前はどちらも同じで、既存のページにポップアップするフォーム上にあるように見えます。
2 番目のボタンを選択するにはどうすればよいですか? いくつかの重要な情報を省略していると思います。他に何か提供する必要がある場合はお知らせください。喜んでお知らせします。助けてくれてありがとう!
編集: このコードのビットがあります。これは、ポップアップするサブウィンドウだと思います (別のウィンドウではなく、既存のウィンドウのペインです):
Sys.WebForms.PageRequestManager._initialize('ctl00$sm1', document.getElementById('aspnetForm'));
次に、ボックスのコードは次のようになります。
<div class="so_heading">
Export response data to Excel</div>
<div id="ctl00_cp1_pageMessage" class="attention">Click the button to send an email containing an Excel file to the email address </div>
<div id="ctl00_cp1_pagec" class="so_fields">
<span id="ctl00_cp1_exportOption"><input id="ctl00_cp1_exportOption_0" type="radio" name="ctl00$cp1$exportOption" value="text" checked="checked" /><label for="ctl00_cp1_exportOption_0">Export with answer texts</label><br /><input id="ctl00_cp1_exportOption_1" type="radio" name="ctl00$cp1$exportOption" value="label" /><label for="ctl00_cp1_exportOption_1">Export with answer codes</label></span>
<div class="gen_menu">
<input type="submit" name="ctl00$cp1$btExport" value="Export Data" onclick="window.setTimeout(cb.curry(__DisableButton, this), 0);" id="ctl00_cp1_btExport" class="confirmitButton" />
</div>
これまでの私のコード(ページを開き、そのページのリンクをクリックすると、ラジオボタンのあるペインが作成されます:
Dim IE をオブジェクトとして Dim ieDoc をオブジェクトとして Dim Anchor をオブジェクトとして Dim ieAnchors をオブジェクトとして
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "the url to my page"
IE.Visible = True
Do While IE.busy: DoEvents: Loop
Do While IE.ReadyState <> 4: DoEvents: Loop
Set ieDoc = IE.Document
Set ieAnchors = ieDoc.Anchors
For Each Anchor In ieAnchors
If Anchor.innerHTML = "Export Data..." Then
Anchor.Click
Exit For
End If
Next Anchor
Do While IE.busy: DoEvents: Loop
Do While IE.ReadyState <> 4: DoEvents: Loop
' the bit I can't get to work to toggle the radio button
ieDoc.getElementsByName("ctl00$cp1$exportOption").Item(1).Checked = True
End Function