2015-10-13 58 views
0

我試圖創建Excel宏將在某個表Internet Explorer頁面上標註75個複選框在Internet Explorer中的所有複選框標記使用Excel VBA

該表的代碼是:

<TABLE id=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes border=0><TBODY> 
<TR> 
<TD><INPUT id=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_0 type=checkbox name=ctl00$MasterMain$ucGenConfig$ucConfigContainer$ucConfigPopup$cblSchemes$0><LABEL for=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_0>Start</LABEL></TD></TR> 
<TR> 
<TD><INPUT id=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_1 type=checkbox name=ctl00$MasterMain$ucGenConfig$ucConfigContainer$ucConfigPopup$cblSchemes$1><LABEL for=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_1>Start2</LABEL></TD></TR> 
<TR> 
<TD><INPUT id=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_2 type=checkbox name=ctl00$MasterMain$ucGenConfig$ucConfigContainer$ucConfigPopup$cblSchemes$2><LABEL for=ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_2>Default</LABEL></TD></TR> 
    <TR> 

等 我嘗試了各種方法,但它並不想打

With IE.document.getElementsByName("ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes") 
    .Item.Click 
end with 

With IE.document.getElementsByName("checkBoxlist(ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes)") 
.Item(0).Checked = True 'Entered 
End With 

For Each htmlelement In IE.document.getElementsByName("ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes") 
htmlelement.Item(0).Click 
Next htmlelement 

預先感謝任何幫助或導致:)

+0

爲什麼不呢?你有什麼錯誤/問題? – ithil

+0

我懷疑原因是因爲沒有任何複選框被命名爲您傳遞給'getElementsByName'方法的東西,因此沒有任何返回。看來你需要有一個變量,比如i,然後增加1,抓住元素,點擊它,然後繼續。如果沒有訪問網站,我無法測試,但我可以嘗試編寫一些可以幫助您的代碼。 – Soulfire

回答

1

我在這裏做一個假設,即認爲有這樣一個id複選框:

ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_0 

有一個標識符,從0開始,如上所述,並增加1到74(對應於您對75個複選框的請求)。

如果是這樣的話,這樣的事情可能工作:

Dim sBaseName As String 
    Dim i As Integer 

    'The base id of the checkboxes 
    sBaseName = "ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_" 

    For i = 0 To 74 '75 checkboxes 
      ie.Document.getElementByID(sBaseName + CStr(i)).Click 
    Next i 

當然,你必須確保你已經設置ie適當,導航頁面等

此代碼將第一抓住並用1單擊

ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_0 

然後,我的增量,所以會搶,然後單擊

ctl00_MasterMain_ucGenConfig_ucConfigContainer_ucConfigPopup_cblSchemes_1 

依此類推,至74.

+0

哇這真棒謝謝soooooooooooo了 –