Llenando el cuadro de entrada de Internet Explorer
Leí tantas respuestas a mi problema, pero de alguna manera si trato de "imitar" lo que veo, todavía no puedo hacer lo que necesito.
El problema es muy simple: llene un cuadro de entrada en una página IE abierta.
Resultado: el código se atasca en la línea congetelementbyid
mostrando el error de tiempo de ejecución 424 (objeto requerido).
Private Sub AddInfoFromIntranet()
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
Application.SendKeys "{ESC}" ' I need this to ignore a prompt
With ie
.Visible = True
.navigate "{here goes the address of my website}"
Do Until Not .Busy And .readyState = 4
DoEvents
Loop
.document.getelementbyid("Nachnamevalue").Value = "{here goes whar I want to insert}"
End With
Set ie = Nothing
End Sub
Las bibliotecas de Internet Explorer se importaron naturalmente (de lo contrario, la "aplicación internetexplorer." no funcionaría.
Estoy seguro de que el campo que quiero llenar se llama "Nachnamevalue", por lo que aprendí esta mañana al echar un vistazo a Internet.
El código html de mi página web (solo la pieza interesante) se ve así:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
'{here there are info on the style, which i'm gonna ignore}
</style>
</head>
<body bgcolor="#ffffcc"><table width="1000"><tbody><tr><td>
<form name="Suchform" action="index.cfm" method="get" target="bottom_window">
Nachname:
<select name="Nachnamepulldown" class="font09px" onchange="wait_and_search()">
<option value="BEGINS_WITH">beginnt mit
<option value="EQUAL">ist
<option value="CONTAINS">enthält
</option></select>
<input name="Nachnamevalue" onkeyup="wait_and_search()" type="text" size="8">
Abteilung:
<select name="Abteilungpulldown" class="font09px" onchange="wait_and_search()">
<option value="BEGINS_WITH">beginnt mit
<option value="EQUAL">ist
<option value="CONTAINS">enthält
</option></select>
<input name="Abteilungvalue" onkeyup="wait_and_search()" type="text" size="3">
<input name="fuseaction" type="hidden" value="StdSearchResult">
<input type="submit" value="suchen">
<script language="JavaScript" type="text/JavaScript">
document.Suchform.Nachnamevalue.focus();
</script>
</form>
</td></tr></tbody></table></body>
</html>
También hay (no sé si puede ayudar) un javascript "incrustado" que muestra los resultados de una búsqueda cada vez que se escriben al menos 2 caracteres en el cuadro de entrada "Nachnamevalue".
¿Qué estoy haciendo mal?
EDITAR: cuando intento ejecutar el Sub paso a paso, obtengo lo siguiente:
Set Doc = ie.document
? Doc [objeto HTMLDocument] (en la lista de observación es un objeto sin ninguna variable dentro)