저는 VBA를 처음 접했고 Internet Explorer에서 href 링크를 클릭하는 방법에 관한 질문이있었습니다. 원본 페이지에는 여러 개의 href가 있습니다. 나는 이걸 한번도 겪어 본 적이 없으며 힘든 시간을 보내고있다! 나는이 웹 사이트에서 답을 찾아 보았으나 여기서 물어보기로했다.Excel VBA를 사용하여 href를 클릭하는 방법
아래의 코드는 Internet Explorer의 소스 코드뿐만 아니라 문제가 발생한 지점까지 나열했습니다.
내가받은 오류를 나열하고 나열했습니다. 다음은
코드 :
Sub()
Dim i As Long
Dim URL As String
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
User = "User"
Pwd = "Pwd"
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
URL = "URL.com"
IE.Navigate URL
Do While IE.ReadyState <> 4
DoEvents
Loop
IE.Document.getElementById("txtUsername").Value = User
IE.Document.getElementById("txtPassword").Value = Pwd
IE.Document.getElementById("btnSubmit").Click
'IE.getElementByClassName("txtTerms").Click - Runtime Error 438
'IE.getElementByTagName("Claims Management").Click - Runtime Error 438
'Set HREF = IE.Document.getElementsByClassName("txtTerms")
'For Each HREF In IE.Document.getElementsByTagName("Claims").Click - No error occurs, nothing happens.
End Sub
인터넷 익스플로러 소스 코드 :
<table id="tblContent">
<tr>
<td class="txtTerms"><a href='href url 1'>Claims</a>
<br>Download<br>Create<br><a class='terms' href='href url 2'
target='terms'>Terms</a><br><br></td>
</tr>
내 질문이 될, 어떻게 VBA는 'HREF URL 1'을 클릭 갈 수있는 것?
추가 정보가 필요한 경우 알려주십시오. 내 VBA 레벨에 대해 사과하지만 더 많은 것을 배우게되어 기쁩니다!
도움 주셔서 감사합니다.
몇 가지 지침 [이 답변] (https://stackoverflow.com/a/47333783/7690982)를 참조하십시오. – danieltakeshi
이지도 다니엘 주셔서 감사합니다! 그것은 매우 비공식적했다, 나는 그것을 감사드립니다. 그러나 'href url 1'과 'href url 2'는 정적이 아니며 로그인 할 때마다 바뀌 었습니다. 다른 방법이 있습니까? 'href url 1'을 사용하여 다른 방법을 사용/시도 하시겠습니까? –
웹 사이트를 열 때마다 원하는 첫 번째 및 두 번째 href가 있으면 'i = i + 1' 루프에 카운터를 넣고'i = 1 '일 때 루프를 종료 할 수 있습니다. If i = 1 다음 Exit For' – danieltakeshi