2016-05-03 7 views
0

Hallo Ich versuche, ein freies Textfeld auf einer Webseite mit einer Zeichenfolge in VBA zu vervollständigen. Mein Code ist wie folgt.Internet Explorer-Eingabefeld automatisch ausfüllen - VBA in MSP

Was mache ich hier falsch?

Sub Testing() 

Dim objIE As SHDocVw.InternetExplorer 

Set objIE = New SHDocVw.InternetExplorer 

objIE.Navigate "https://someaddress.com/somepath.do" 
objIE.Visible = True 
Do Until Not objIE.Busy And objIE.ReadyState = 4 
    DoEvents 
Loop 

objIE.Document.getElementsById("#IO:c0242cf36ff09200b872129e5d3ee445.question_textarea_input cat_item_option").value = "Some String" 

End Sub 

Element Überprüfen Sie auf der Webseite wie folgt

<textarea placeholder="Describe in detail the issue you are experiencing." style="overflow: hidden; word-wrap: break-word; resize: none; height: 64px;" rows="5" id="IO:c0242cf36ff09200b872129e5d3ee445" class="question_textarea_input cat_item_option" onchange="if (typeof(variableOnChange) == 'function') variableOnChange('IO:c0242cf36ff09200b872129e5d3ee445')" name="IO:c0242cf36ff09200b872129e5d3ee445" wrap="soft"></textarea> 

Jede Hilfe sehr geschätzt.

+0

warum haben Sie die ID und den Namen der Klasse verwiesen? Ich glaube nicht, dass das funktioniert. Aber bevor Sie eine Antwort erhalten, sollten Sie das Problem posten, das Sie haben. Wo bekommen Sie einen Fehler oder was funktioniert nicht so, wie Sie es erwarten? –

+0

versuchen objIE.Document.getElementById ("# IO: c0242cf36ff09200b872129e5d3ee445"). Wert = "Einige String" (HINWEIS nicht 's' in getElementById) –

+0

Das Problem, das ich habe, ist ein Laufzeitfehler 424, Objekt erforderlich. Ich habe mich an Stephs obigen Vorschlag angepasst. – anon

Antwort

0

Ich habe das gelöst, aber danke für Ihre Hilfe.

Das Freitextfeld war in einem IFrame

Sub Testing() 

Dim objIE As SHDocVw.InternetExplorer 

Set objIE = New SHDocVw.InternetExplorer 

objIE.Navigate "https://someaddress.com/somepath.do" 
objIE.Visible = True 
Do Until Not objIE.Busy And objIE.ReadyState = 4 
    DoEvents 
Loop 

Set objIE = obj.Document.getElementID("anIFrame") 
objIE.Document.getElementByID("IO:c0242cf36ff09200b872129e5d3ee445").value = "Some String" 

End Sub 
Verwandte Themen