Error al compilar una macro en excel 2010 error numero 91 no puedo corregir el error

Psss asi mismo tengo una macro que me consegui y la explicacion es muy sencilla clara y buena todo lo q debia de hacer era un copia y pega en la seccion de programacion de mi VBA pero... Resulta que me da error el compilador aqui coloco el macro y porfavor que alguien me indique cual podria ser el error al problema porque de verdad me es muy ultil poder lograr programar esta funcion VBA orientado al internet sobre todo con el internet explorer de antemano mil gracias a quien me pueda ayudar y accesorar por cierto tengo ms office 2010 instalado y lo probe con office2003 y el mismo error y numero y tengo habilitado los complementos de Internet Control y todo y nada de nada estoy aqui les dejo la copia del macro para ver cual es el posible error
Sub RellenarWEBGoogle()
Dim IE As Object
'creamos el objeto para el navegador Internet Explorer
Set IE = CreateObject("InternetExplorer.application")
'dentro del navegador, accedemos al buscador Google (o cualquier otra web con un formulario tipo HTML
'hacemos visible la ventana de Internet Explorer
IE.Visible = True
IE.Navigate "https://www.google.es/"
Do
DoEvents
Loop Until IE.ReadyState = 4
'para completar el campo de búsqueda:
'código identificado en la url www.google.es:
'input id=gbqfq class=gbqfif name=q type=text autocomplete=off value=""
IE.Document.getElementById("gbqfq").Value = "forosdelweb"
'para realizar la búsqueda presionamos el botón de Buscar..
''código identificado en la url www.google.es:
'button class="gbqfba" aria-label="Buscar con Google" id="gbqfba" name="btnK"
IE. Document. GetElementById("gbqfba"). Click
'IE. Document. All("btnK"). Click otra forma de llamarlo..
End Sub

Nota. Lo resaltado en negrilla es donde me da el error y aqui les dejo una imagen de printscreen q me muestra el VBA cuando trata de ejecutar y cualquier otro macro que contenga las funciones document o getelement etc

1 respuesta

Respuesta
1

Intenté con la macro que pusiste y también me generó el mismo error.

Si lo que quieres es abrir la página de internet, puedes intentarlo con esta macro.

Antes de ejecutarla, tienes que agregar las librerías: Microsoft HTML objects Library y Microsoft Internet Controls, entra al menú de VBA, Herramientas, Referencias, busca las librerías y activa la casilla:

Sub parser()
'Referencia: http://eljayan.blogspot.mx/2014/07/vba-excel-macro-para-abrir-una-pagina.html
    Dim htmlDoc As HTMLDocument
    Dim oBrowser As InternetExplorer
    Dim sURL As String
    sURL = "http://www.forosdelweb.com//"
    Set oBrowser = New InternetExplorer
    oBrowser.Visible = True
    oBrowser.Navigate sURL
    Do
        DoEvents
    Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE
End Sub

¿Gracias por la respuesta pero... te soy sincero en algo... abrir el explorer fue lo de menos eso lo logre el asunto es que necesito ubicar los elementos de la página web como el ejemplo que tenia google y la mayoría m dan error ahora bien... resolví entre "" el problema pero... te hago una consulta un tanto distinta pero orientada al mismo tema si tengo un cuadro o mensaje web que se sobre pone al internet explorer que t da la opción ACEPTAR o CANCELAR y se sobre pone sobre l internet explorer esperando que selecciones una de 2 opciones hay alguna forma que desde el VBA yo automáticamente le diga que ese cuadro de mensaje ya asuma mi elección que seria aceptar? Estuve leyendo bastante y me entere de una cantidad de funciones de los javascript y cuando revisa el código fuente de la página me encontré que en la parte que se da al botón Aceptar resulta que tiene un condicional en forma de función que se hace llamar ValidaForma() y dentro de este esta una función que llama una variables las declara y e indica que si la respuesta <> 1 muestra un letrero "error" mientras que cuando es lo contrario llama otra función Cancontinuar() que es como si yo oprimiera al botón aceptar todo esto es transparente para los usuarios pero para nosotros los programadores es como realmente sucede internamente, no se si fui claro pero t muestro una imagen para que me comprendas un poco mejor

Espero sea un poco mas claro ahora mi consulta cualquier cosa me la notificas gracias por tu tiempo

Puedes verificar si enviando una tecla desde la macro de excel puedes cerrar esa ventana, por ejemplo:

SendKeys "{ENTER}", True

Revisa los siguientes vídeos para descargar información de la web.

http://www.ayudaexcel.com/foro/threads/video-macros-excel-vba-3-descargar-cotizaciones-de-yahoo-finance.37402/

Si de algo te sirvieron las sugerencias, no olvides valorar la respuesta.

Saludos y Feliz Año 2015

ay amigo... gracias pero... =\  el usar este comando que no lo conocía y gracias por esa pero... repito cuando uso ese comando el internet explorer me suena un click o zumbido como cuando esta mal algo y no asume el enter lo más cómico es que es como hiciera varios clicks por fuera del cuadro de mensaje pero cuando le doy enter al teclado perfecto pero cuando le indico como me estas diciendo hace un sonido de zumbido pero no da aceptar y ejecute paso por paso y pues se queda en ciclo porque esta esperando que haga una selección de 2 opciones estuve revisando el código fuente y pssss me llama atención y es que estoy empezando a adentrarme de esto de los HTML y Java script y veo que ese mensaje de dialogo es una función que se declara y el aceptar hay una declaración a una función llamada validaforma allí se declara unas variables y si esa función da como valor 1 lo que quiere decir que estas dando a la opción aceptar y al mismo tiempo al ser 1 llama una función que se llama forma. ¿submit() pero no logro que me asuma eso de una vez sin condicionales como unos patrones de chequeo si quieres t medio mando parte del código que no es tan largo y así me podrías ayudar te parece?

http://contribuyente.seniat.gob.ve/declaracioniva/seleccionarPeriodo.do

Pides al firefox t muestre el código fuente es lo único que no esta dentro de las referencias JAva esta en la

<script>

Voy a tener que leer más al respecto de esto si quisiera aprender desde VBA para poder ejecutar patrones propios etc me recomendarías que me leyera código Javascript o HTML porque me interesa aprender esta parte bien gracias por tu cooperación espero me puedas colaborar y orientar

Te mando el código fuente completo para que me puedas entender mejor y así orientar bien gracias

<html lang="es"><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><META http-equiv="Content-Style-Type" content="text/css"><META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"><script type="text/javascript" src="/declaracioniva/js/iva.js"></script><link rel="stylesheet" href="http://contribuyente.seniat.gob.ve/css/iseniat.css"><link  type="text/css" href="/declaracioniva/css/declaracion.css" rel="stylesheet" /><script type='text/javascript' src='http://contribuyente.seniat.gob.ve/js/validDate.js'></script><script type='text/javascript' src='http://contribuyente.seniat.gob.ve/js/controlEntrada.js'></script><title>SENIAT - Servicio Integrado de Administraci&oacute;n Aduanera y Tributaria</title><link rel="stylesheet" href="http://contribuyente.seniat.gob.ve/css/menu_internet0.css"></head><body leftMargin="0" rightMargin="0" topMargin="0" marginheight="0" marginwidth="0" class="Bodyid1siteid0"><table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF"><tr><td width="265" align="left" rowspan="2"><img src="http://contribuyente.seniat.gob.ve/imagenes/logocr.gif" border="0" width="207" height="73"></td><td width="322" align="left" valign="middle" colspan="2"  bgcolor="#FFFFFF"><span class="letrasFecha">Venezuela, <script language="javascript">dows = new Array("domingo","lunes","martes","mi&eacute;rcoles","jueves","viernes","sabado");months = new    Array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");now = new Date();dow = now.getDay();d = now.getDate();m = now.getMonth();h = now.getTime();y = now.getFullYear();document.write("<font size=1 face=Arial Narrow>" + dows[dow]+" "+d+" de "+months[m]+" de "+y + "</font>");</script></span></span></td></tr><tr height="68"><td style="background-IMAGE: url(http://contribuyente.seniat.gob.ve/imagenes/fondo_celda.jpg);" height="68"></td><td width="640" height="68" valign="baseline"  align="right"  class="fondoPrincipal"><img src="http://contribuyente.seniat.gob.ve/imagenes/banner.jpg" width="640" height="68" alt="Aqui estan tus Tributos" border="0"></td></tr></table><table width="100%" cellpadding="0" cellspacing="0"><tr><td colspan="2" width="100%" height="10px" bgcolor="#FFFFFF"></td></tr><tr><td colspan="1" width="90%" style="background-color:#CCCCCC;height:30px;"><span class="nombreBarra">LUIS ALBERTO TRIANA AYALA</span></td><td colspan="1" width="10%" style="background-color:#CCCCCC;height:30px;"  align="center">  <a href="http://contribuyente.seniat.gob.ve/iseniatlogin/paginaprincipal.do" > <img src="http://contribuyente.seniat.gob.ve/imagenes/pprincipal.gif" border="0" />  </a>  </td></tr></table>  <td valign="top" align="left" width="80%">    <table valign="top" width="100%" class="tablaTitulo">              <tr>                <td width="100%" valign="top"  align="center">iSENIAT - Declaraci&oacute;n de IVA</td>              </tr>                         </table>              <center>                <table valign="top" width="80%">                  <tr>                    <td width="100%" valign="top"  align="center"><center><span style="color:#FF0000; font-size:10px"></span></center></td>                  </tr>                           </table>                          <table cellpadding="2" cellspacing="0" border="0" width="90%" align="center">                   <tr>                     <td align="center" valign="top">                      <span id="mensajeError" style="color:#FF0000; font-size:9px;visibility=hidden;"></span>                     </td>                  </tr>                </table>                </center>          <script>            var canContinuar = 0;            var canAtras = 0;            function atras(){              var forma = document.iniciarForm;              canAtras +=1;              if (canAtras == 1){                forma.action = "inicio.do";                forma.submit();              }            }            function validaForma(){               var indFormal = document.iniciarForm.indContrFormal.value;              var perAdeclarar = document.iniciarForm.periodoAdeclarar.value;               var mesIni  = perAdeclarar.substring(0,2);              var anoIni  = perAdeclarar.substring(2,6);              var forma = document.iniciarForm;             if (indFormal <= 0) {                  if(forma.anho.value > anoIni){                   alert("El período seleccionado no corresponde con el que debe declarar según su última declaración presentada.");                   canContinuar = 1;                }else if(forma.anho.value == anoIni && forma.mes.value > mesIni){                   alert("El período seleccionado no corresponde con el que debe declarar según su última declaración presentada");                      canContinuar = 1;                }            }             if (forma.mes.selectedIndex == 0){                alert("Debe seleccionar el mes del periodo a declarar");              } else if (forma.anho.selectedIndex == 0){                alert("Debe seleccionar el año del periodo a declarar");              } else {                if (canContinuar == 0){                  if (confirm('Si usted está seguro de la información sumistrada presione Aceptar para continuar, de lo contrario presione Cancelar')) {                    canContinuar += 1;                    if (canContinuar == 1)                      forma.submit();                  }                 }              }            canContinuar = 0;            }          </script> <table id="tblWizard" cellpadding="0" cellspacing="2" border="0" align="center" width="100%">  <tr>    <td width="100%" align="center">      <table id="tblWizardInternal" cellpadding="0" cellspacing="2" border="0" align="center" width="100%">        <tr>          <td align="center" width="100%">             <table id="tblBody" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">                              <tr>                   <td height="30" align="left" valign="top">                      <form name="iniciarForm" method="post" action="/declaracioniva/iniciar.do">                      <input type="hidden" name="hayUltimaDeclaracion" value="">                      <input type="hidden" name="periodoAdeclarar" value="112014">                      <input type="hidden" name="indContrFormal" value="0">                         <table cellpadding="0" cellspacing="0" border="0" align="left" width="100%" height="270">                            <tr>                               <td valign="top">                                  <table cellpadding="0" cellspacing="0" border="0" align="center" width="55%">                                     <tr>                                        <td colspan="3" class="celdaTitulo1" align="left">                                           <b>Definir Período de la Declaraci&oacute;n</b>                                        </td>                                     </tr>                                     <tr>                                        <td colspan="3">                                           <font face="Verdana" size="3"></font>                                         </td>                                      </tr>                                      <tr>                                         <td class="celdaTitulo2" width="40%" align="left">                                           <LI TYPE="CIRCLE">Período</LI>                                         </td>                                         <td class="letrasSmall" width="30%" colspan="1">                                               <select name="mes" style="font-family: Verdana; font-size:10; width:100% ;height:18"><option value="0">[SELECCIONAR]</option>                                                <option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11" selected="selected">11</option><option value="12">12</option></select>                                        </td>                                          <td class="letrasSmall" width="30%" colspan="1">                                               <select name="anho" style="font-family: Verdana; font-size:10; width:100% ;height:18"><option value="0">[SELECCIONAR]</option>                                                <option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014" selected="selected">2014</option></select>                                        </td>                          					  </tr> 								  <tr> 									<td colspan="3"></td> 								  </tr> 								  <tr>									 <td align="right" colspan="1" height="200">                    <a href="javascript:atras();"><img src="http://contribuyente.seniat.gob.ve/imagenes/atras.jpg" border="0"></a>									 </td> 									 <td align="right" colspan="1" height="200">									 </td> 									 <td align="right" colspan="1" height="200">                    <a href="javascript:validaForma();"><img src="http://contribuyente.seniat.gob.ve/imagenes/continuar.jpg" border="0"></a>                   									 </td>                    								  </tr>                     </table>                      </td>                   </tr>                 </table> 				      </form>         	       </td> 			    </tr>                     			 </table>              <!--Fin Tabla Opciones -->          </td>        </tr>      </table>    </td>  </tr></table>   	</td>	  </tr></table>   	<br><br><br></body></html>

Disculpa que no pueda ayudarte, pero Html no es mi fuerte.

Tendrás que poner la pregunta en el tema de html.

HTML

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas