Saltar al contenido

ADJUNTAR DOCUMENTO EN INTERNET CON VBA EXEL


Recommended Posts

publicado

Hola, necesito ingresar a una página,. Para ello necesito adjuntar dos documentos de autentificación, sin embargo, no he logrado hacerlo. Ayudaaa

La página es https://wwwmat.sat.gob.mx/app/seg/faces/pages/lanzador.jsf?url=/operacion/20777/consulta-tu-opinion-de-cumplimiento-de-obligaciones-fiscales&tipoLogeo=c&target=principal&hostServer=https://wwwmat.sat.gob.mx

Allí se encuentra el código fuente.

El error se encuentra al adjuntar los archivos, pues la página no los reconoce como adjuntos...

image.png.3c5125d739e521bfec69fe1471e4d6c1.png

        Direc = "https://wwwmat.sat.gob.mx/app/seg/faces/pages/lanzador.jsf?url=/operacion/20777/consulta-tu-opinion-de-cumplimiento-de-obligaciones-fiscales&tipoLogeo=c&target=principal&hostServer=https://wwwmat.sat.gob.mx"
        Set objIE = CreateObject("InternetExplorer.Application")
        objIE.Visible = True
        objIE.navigate Direc
        
With objIE

    'OPTION FIEL
    While .Busy = True Or .readyState < 4: DoEvents: Wend
    Do Until objIE.readyState = 4: DoEvents: Loop
    objIE.document.getElementById("buttonFiel").Click
    While .Busy = True Or .readyState < 4: DoEvents: Wend
    Do Until objIE.readyState = 4: DoEvents: Loop

    'ACCESS WITH CER AND KER

    Application.Wait (Now + TimeValue("0:00:03"))
    
Set AttachCER = objIE.document.getElementById("fileCertificate")
Set AttachCERTXT = objIE.document.getElementById("txtCertificate")

Set AttachKEY = objIE.document.getElementById("filePrivateKey")
Set AttachKEYTXT = objIE.document.getElementById("txtPrivateKey")

AttachCERTXT.Value = "CONFIDENCIAL.cer"
AttachKEYTXT.Value = "Claveprivada_FIEL_CONFIDENCIAL_20170529_114039.key"

AttachCER.innerText = "C:\Users\...._20170529114039\CONFIDENCIALpa.cer"
AttachKEY.innerText = "C:\Users\...._20170529114039\CONFIDENCIAL529_114039.key"


AttachCER.FireEvent ("onclick")
AttachKEY.FireEvent ("onclick")

AttachCERTXT.FireEvent ("onclick")
AttachKEYTXT.FireEvent ("onclick")

objIE.document.getElementById("rfc").Value = "CONFIDENCIAL"
objIE.document.getElementById("privateKeyPassword").Value = "CONFIDENCIAL"

objIE.document.getElementById("submit").Click

 

 

publicado

Hola

Espero que alguien de México que tengo todos esos certificados te pueda ayudar, ya que sin ellos es imposible hace pruebas. Lo comento para que no vayas a creer que no es que nadie quiera ayudarte. Suerte.

publicado

Hola a todos

Tengo la impresión de que lo que han hecho en esa web es justamente intentar evitar el envío masivo de datos (tal y como se intenta por ejemplo con el uso de captchas). Es decir, si tienes los archivo para ir ahí, y no usar justamente el captcha anterior, tampoco podrá hacerse algo automatizado.

¿Por qué? Las cajas de texto no reciben rutas como están intentando, sino que están relacionadas a código que si mal no me equivoco es JavaScript. Intente localizar la función correspondiente para "correrla" desde VBA, pero me encontré con código que por lo que veo está ofuscado: Enlace. Y aunque no soy un experto en web, me imagino que con algo de ingeniería inversa se podrá "desofuscar", pero al no conocer a profundidad cosas relacionadas a web, definitivamente tomará demasiado tiempo (al menos es mi caso). 

Ah, incluso si se intenta capturar la caja de dialogo para enviarle la ruta, pues intenté hacerlo usando funciones de la API de Windows, pero nada, no pude detectarlas.

¿Alternativas? Al parecer necesariamente hay que encontrar/"desofuscar" el código JavaScript para automatizar todo a través de VBA, pero repito, no soy experto en temas web, aunque creo no equivocarme. A ver si alguien que conozca más de webs nos lo (re)confirma.

 

publicado
Hace 18 minutos , avalencia dijo:

Hola a todos

Tengo la impresión de que lo que han hecho en esa web es justamente intentar el envío masivo de datos (tal y como por ejemplo con el uso de captchas). Es decir, si tienes los archivo para ir ahí, y no usar justamente el captcha anterior, tampoco podrá hacerse algo automatizado.

¿Por qué? Las cajas de texto no reciben rutas como están intentando, sino que están relacionadas a código que si mal no me equivoco es JavaScript. Intente localizar la función correspondiente para "correrla" desde VBA, pero me encontré con código que por lo que veo está ofuscado: Enlace. Y aunque no soy un experto en web, me imagino que con algo de ingeniería inversa se podrá "desofuscar", pero al no conocer a profundidad cosas relacionadas a web, definitivamente tomará demasiado tiempo (al menos es mi caso). 

Ah, incluso si se intenta capturar la caja de dialogo para enviarle la ruta, pues intenté hacerlo usando funciones de la API de Windows, pero nada, no pude detectarlas.

¿Alternativas? Al parecer necesariamente hay que encontrar/"desofuscar" el código JavaScript para automatizar todo a través de VBA, pero repito, no soy experto en temas web, aunque creo no equivocarme. A ver si alguien que conozca más de webs nos lo (re)confirma.

 

Gracias por intentarlo

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.