IEのVBAからHTMLドロップダウンメニューをクリックしようとしています。今は、実際にSendkeys "{Tab}"を21回以上使用して要素にアクセスし、次にSendkeys "{Enter}"を押してドロップダウンを取得します。明らかに、これは恐ろしいソリューションですが、私はここでVBA - HTML要素のクリック
を動作するように何かを得るように見えることはできません、私はクリックする要素のHTMLコードです:
<tr>
<td height='21'></td>
<td colspan='5' valign='top' align='left'>
<DIV id='win0div$ICField28$0'><table cellpadding='0' cellspacing='0' cols='1' class = ' ' id='$ICField28$scrolli$0' width='948'>
<tr><td><DIV id='win0divGP$ICField28$0'><table cellspacing='0' cellpadding='0' border='0' width = '100%' class='PSLEVEL1SCROLLAREAHEADER' style = 'border:0'><tr><td class='PSLEVEL1SCROLLAREAHEADER' align='left' id = 'PSCENTER'><table class='PSRIGHTCORNER' cellspacing='0' cellpadding='0' border='0' style ='height:100%;' width='100%' ><tr><td class='PSLEVEL1SCROLLAREAHEADER PSLEFTCORNER' style = 'border:0;padding-left:0px;' align='left' ><a name='$ICField28$expand$0' id='$ICField28$expand$0' tabindex='71' href="javascript:submitAction_win0(document.win0,'$ICField28$expand$0');"><img src='/cs/fsprd/cache/PT_EXPAND_1.gif' alt='Expand section Prepayment Penalty' title='Expand section' border='0' /></a> Prepayment Penalty </td>
</tr></table></td></tr></table></DIV></td></tr>
私は多くのをやってみましたHTML要素をクリックするもの:
Dim IE as object
Set IE = CreateObject("InternetExplorer.Application")
IE.document.getelementsbytagname("img")(0).click
しかし運がありませんでした。
誰も私がこのドロップダウンをクリックするために何ができるか考えていますか?より多くの情報を提供できるかどうか教えてください。これも試してみてください
Dim IE As Object
Dim img As HTMLImg
Dim i As Integer
Set IE = CreateObject("internetexplorer.application")
IE.navigate "yourwebsite"
Set HTMLdoc = IE.Document
Set img = Nothing
i = 0
While i < HTMLdoc.images.Length And img Is Nothing
If HTMLdoc.images(i).alt = "Expand section Prepayment Penalty" Then Set img = HTMLdoc.images(i)
i = i + 1
Wend
If Not img Is Nothing Then
img.parentElement.Focus
img.parentElement.click
Else
MsgBox "Image title not found"
End If
:ここ
Dim IE As Object
Dim i As Integer
Set IE = CreateObject("internetexplorer.application")
IE.navigate "yourwebsite"
Set HTMLdoc = IE.Document
For each l in HTMLdoc.getElementsByTagName("a")
If l.ClassName = "PSLEVEL1SCROLLAREAHEADER PSLEFTCORNER" Then
l.Click
Exit For
End if
Next
は、私が参照または何かにロードする必要があり、特定のライブラリはありますか? – Tollbooth
更新された投稿を試してください。 Microsoft HTML Object Libraryへの参照を設定してください。 –
コメント 'Dim HTMLdocとしてMSHTML.HTMLDocument –