我試圖讓我的一些代碼改變內部網頁上的單選按鈕,但是,頁面寫入的方式是我想要的元素沒有特定的ID。這裏是一個代碼示例:在IE中沒有名稱或ID標記的VBA IE控件單選按鈕
<div align="center" id="divControls">
<form id="frmSearch" name="frmSearch" method="POST">
<table cellpadding="0" cellspacing="0" class="exec_tbl align_vc">
<tr>
<td class="exec_ltxt"><input type="radio" name="search" value=1 checked=checked onclick="collapse('submit');searchOptions();" /> Agent Search</td>
<td class="exec_ltxt"><input type="radio" name="search" value=2 onclick="expand('submit');searchOptions();" /> Team Search</td>
<td class="exec_ltxt"><input type="radio" name="search" value=3 onclick="expand('submit');searchOptions();" /> Manager Search</td>
<td class="exec_ltxt"><input type="radio" name="search" id='searchlob' value=4 onclick="expand('submit');searchOptions();" /> LoB Search</td>
</tr>
</table>
</form>
</div>
我只是需要有單選按鈕單擊值= 2(團隊搜索)。
我試圖使用VBA是:
Sub Attendance_RoundedRectangle2_Click()
sCSVLink = "webpage"
sfile = "csvexport.php"
ssheet = "Sheet10"
Dim appIE As InternetExplorerMedium
Dim Obj As Object
On Error Resume Next
Application.ScreenUpdating = False
Set appIE = New InternetExplorerMedium
Set ieRadio = IE.document.all
sURL = "webpage"
' Instructes the macro to open IE and navigate to sURL.
With appIE
.Navigate sURL
.Visible = True
Application.Wait Now + TimeValue("00:00:02")
Set HTMLDOC = .document
End With
Application.Wait Now + TimeValue("00:00:02")
appIE.document.all.Item("divControls")(3).Checked = True
appIE.document.getElementByid("divControls").Value = "2"
End Sub
絕不是我親,我試圖拼湊它一起,非常感謝所有幫助我能!
更新的HTML
<div align="right"><a href="index.php?logout=1">logout</a></div><h1 class="font_2 & uline & center" style="color:#909090;">Reporting</h1>
<div align="center" id="divControls">
<form id="frmSearch" name="frmSearch" method="POST">
<table cellpadding="0" cellspacing="0" class="exec_tbl align_vc">
<tr>
<td class="exec_ltxt"><input type="radio" name="search" value=1 checked=checked onclick="collapse('submit');searchOptions();" /> Agent Search</td>
<td class="exec_ltxt"><input type="radio" name="search" value=2 onclick="expand('submit');searchOptions();" /> Team Search</td>
<td class="exec_ltxt"><input type="radio" name="search" value=3 onclick="expand('submit');searchOptions();" /> Manager Search</td>
<td class="exec_ltxt"><input type="radio" name="search" id='searchlob' value=4 onclick="expand('submit');searchOptions();" /> LoB Search</td>
</tr>
<tr>
<td class="exec_ltxt" colspan="3"><div id="divSearchOption" align="center" style="display:inline;width:100%;"></div></td>
<td class="exec_ctxt"><input id="submit" type="button" value="Submit" style="display:none;" onclick="submitButton();"></td>
</tr>
<tr>
<td class="exec_rtxt">Start Date:</td>
<td class="exec_ltxt">
<input id="sDate" name="sDate" type="text" size="9" value="2014-01-08" onchange="if (document.getElementById('searchlob').checked != true) { searchOptions(); }" onblur="if (document.getElementById('searchlob').checked != true) { searchOptions(); }" />
<img src="icon_pickdate.gif" id="start_date_button" alt="date picker" />
</td>
<td class="exec_rtxt">End Date:</td>
<td class="exec_ltxt">
<input id="eDate" name="eDate" type="text" size="9" value="2015-01-08" onchange="if (document.getElementById('searchlob').checked != true) { searchOptions(); }" onblur="if (document.getElementById('searchlob').checked != true) { searchOptions(); }" />
<img src="icon_pickdate.gif" id="end_date_button" alt="date picker" />
</td>
</tr>
</table>
<input id="uid" name="uid" type="hidden" value="agent" />
</form>
</div>
<div id="divTeamTable" align="center"></div>
<br/>
<div align="center" id="divAgentData"></div>
我離開的唯一信息是,其中包括不應該影響VBA幾個JavaScript鏈接的標題。
你可以使用'的getElementsByTagName(「輸入」)'然後遍歷,直到找到一個與的innerText =「團隊搜索」 –