2017-07-18 2 views
0

Ich bin sehr neu in HTML und VBA. In der HTML-Seite habe ich die Möglichkeit, auf "Ja" oder "Nein" zu klicken. Beachten Sie diese nicht Schaltflächen, sondern Links. Brauchen Sie Hilfe im VBA-Excel-Code, um auf "Ja" oder "Nein" zu klicken. Mehr interessiert an "Ja". „NEIN“ I unter Verwendung IE.QuitVBA Ja Nein Link zum Klicken

HTML-Code für Ja ignorieren oder Nein

<HTML> 
<BODY> 
<Table> 
<TR> 
<TD> 
<A HREF="Abc.com"><FONT COLOR="#8000080">YES<Font></A> 
&nbsp; <HREF="javascript:window.close();"><FONT COLOR="#8000080">NO<Font></A> 
</TD> 
</TR> 
</TABLE> 
</BODY> 
</HTML> 
+0

Probieren Sie diese 'IE.document.getelementsbytagname ("a") (1) .innertext.click' OR es könnte "innerHTML-" not "innertext" – user1

+0

Dank sein. Werde morgen versuchen und weitere Hilfe suchen, wenn es Probleme gibt. –

Antwort

0

Dies könnte das sein, was Sie suchen. Es fordert die Benutzer eine Frage, und sie werden mit „Ja“ oder „Nein“ in VBA der Lage sein,

Sub question() 
    answer = MsgBox("your question", vbYesNo + vbQuestion, "subject") 
    If answer = vbYes Then 
     'Do This 
    End If 
End Sub 
+0

Ich suche nach etwas wie geantwortet von user1. Ich bin in der Lage, HTML-Link mit VBA aktivieren, aber nächste Bildschirm erscheint mit Ja oder Nein in HTML und müssen VBA-Code automatisch auf Ja klicken. –

0

Etwas zu wählen wie das funktionieren soll. Grundsätzlich wollen Sie über alle A Tags iterieren und finden, wo der innere Text eine Übereinstimmung mit ja ist. Sobald das erledigt ist, können Sie auf das Element klicken.

Sub ClickYes() 
    Dim ie  As Object: Set ie = CreateObject("InternetExplorer.Application") 
    Dim elements As Object 
    Dim element As Object 

    ie.navigate "mysite.com" 

    'Wait until the page loads 
    Do Until ie.readystate <> 4 
     Application.Wait (Now() + TimeValue("00:00:02")) 
     DoEvents 
    Loop 

    ie.Visible = True 

    Set elements = ie.document.getElementsByTagName("a") 

    'Make sure we got an object back, otherwise exit 
    If elements Is Nothing Then Exit Sub 

    'Iterate through the a elements and click where the innertext is yes 
    For Each element In elements 
     'turn error handling off 
     On Error Resume Next 

     'Click the link where the text is Yes 
     If element.innerText = "Yes" Then 
      element.Click 
      Exit For ' stop searching after the first match 
     End If 
    Next 

    'turn error handling back on 
    On Error GoTo 0 
End Sub 
+0

Danke Ryan. Es hat zu einem gewissen Grad funktioniert, aber klicken hat nicht funktioniert. Anstatt zu klicken benutzte ich is.navigate Element und es funktionierte. In dem anderen Pop, wenn es kein A-Tag im HTML gab, muss VBA exit at line haben, wenn elements Nothing Then Exit sub ist, aber es existiert in der nächsten Zeile für jedes Element in elements. Wenn ich ie.navigate Element verwendet, würde es die erste verfügbare URL navigieren, die riskant sein kann, weil verschiedene Pop-ups unterschiedliche h ref haben können. Ich möchte ie.navigate verwenden, wenn die URL in Hyperlink einen bestimmten Text enthält. Innerer Text = "Ja" hat nicht funktioniert. Gibt es einen Code für Like oder enthält –

+0

Sorry für Tippfehler. Unter Verwendung des Telefons –

+0

habe ich innterHTML wie "* close *" verwendet, dann funktioniert auch element.click. –

Verwandte Themen