2017-01-25 4 views
1

Ich habe versucht, mit VBA bestimmten Website zu betreiben, aber ich kann mein Code nicht funktioniert, könnte jemand mir helfen, meinen Code zu überprüfen bitte ..Excel VBA Mit Web-Seite zu betreiben

wirklich nicht herausfinden, warum

Web-Seite Quellcode:

<td class="grid-cell purchaseOrderPUGrid-col4 cur center cell-update " eno="edit" _col="10" field="selfVOService">EUR 0.00</td> 
<input name="name1" class="name2" style="width: 156px;" onpaste="return false" oncontextmenu="return false" type="text"> 

Mein Quellcode:

For Each oHTML_Element_2 In HTMLDoc.getElementsByTagName("input") 
    If oHTML_Element_2.className = "name2" And oHTML_Element_2.Type = "text" Then 
     oHTML_Element_2.Click 
     oHTML_Element_2.txtamount.Value = "123" 
     oHTML_Element_2.txtamount.Text = "123" 
    End If 
Next 

Antwort

1

Sie sind fast da. Sie müssen nur .value verwenden, um den angezeigten Wert für das Steuerelementobjekt festzulegen oder abzurufen. So, hier ist Ihr Arbeitscode:

For Each oHTML_Element_2 In HTMLDoc.getElementsByTagName("input") 
    If oHTML_Element_2.className = "name2" And oHTML_Element_2.Type = "text" Then 
     oHTML_Element_2.Value = 123 
    End If 
Next 

Auch brauchen Sie nicht das Objekt klicken, um einen Wert zu setzen. Du bist gut, solange es richtig erkannt wird.

+0

vielen dank! Es funktioniert, aber warum brauche ich da nur '.value'? Außerdem, wie kann ich die ENTER-Taste auf der Website drücken? –

+0

Gut zu helfen. Sie müssen nur '.value' verwenden, da es keine Methode wie' .txtamount.Value' oder '.txtamount.Text' gibt. Überprüfen Sie diese [link] (https://msdn.microsoft.com/en-us/library/ms535841 (v = vs.85) .aspx) für weitere Informationen. Überprüfen Sie auch diese [link] (http://stackoverflow.com/questions/17179872/i-need-to-find-and-press-a-button-on-a-webpage-using-vba) um zu sehen, wie Sie können drücke einen Knopf. P.S. Google ist dein Freund... :) – ManishChristian