Jump to content

Ejecutar HTML desde un botón en Excel


JUANJG

Recommended Posts

Cuando ingreso el siguiente código html en el diseño de mi pagina web obtengo un Boton de Enviar (coloco datos de ejemplo), lo que quiero es replicar ese funcionamiento pero en excel, es decir insertar un botón en excel y que al dar clic me abra la url tal cual lo hace el boton insertado en mi pagina.

<form method="post" action="https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/">
  <input name="merchantId"    type="hidden"  value="508029"   >
  <input name="accountId"     type="hidden"  value="512321" >
  <input name="description"   type="hidden"  value="Test Pago"  >
  <input name="referenceCode" type="hidden"  value="TestPago" >
  <input name="amount"        type="hidden"  value="20000"   >
  <input name="tax"           type="hidden"  value="0"  >
  <input name="taxReturnBase" type="hidden"  value="0" >
  <input name="currency"      type="hidden"  value="COP" >
  <input name="signature"     type="hidden"  value="7ace3c4c2ce3e343f462cfe1b9159f5f"  >
  <input name="test"          type="hidden"  value="1" >
  <input name="Submit"        type="submit"  value="Enviar" >
</form>

He intentado con varios métodos pero ninguno ha funcionado y la verdad no se si son los correctos, el ultimo fue el siguiente (en mi macro cada dato es tomado del valor de un textbox o Combobox:

Sub SendData()
Dim Enviado As String

Enviado = "merchantId=" & "508029 " & "accountId=" & "512321 " & "description=" & "Test Pago " & "referenceCode=" & "TestPago " & "amount=" & "20000 " & "tax=" & "0 " & "taxReturnBase=" & "0 " & "currency=" & "COP " & "signature=" & "7ace3c4c2ce3e343f462cfe1b9159f5f"
    
    With CreateObject("MSXML2.XMLHTTP")
        .Open "POST", "https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu/", False
        .send Enviado
'    MsgBox Enviado
    End With
End Sub

 

Desde ya muchas gracias por su colaboración.

Link to comment
Share on other sites

Prueba con esto

Option Explicit
 
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
    Const SW_NORMAL = 1
 
Luego, en el botón de comando que tengas:
 
Dim X
X = ShellExecute(Me.hwnd, "Open", "http://www.ayudaexcel.com", &O0, &O0, SW_NORMAL)

 

Link to comment
Share on other sites

Gracias Marco por tu ayuda, ya lo he intentado con la función ShellExecute, sin embargo esta opción me abre la pagina web pero no veo donde enviarle los parámetros que se envían a través del formulario en el html ( merchantId, accountId, description, referenceCode,amount,tax,taxReturnBase,currency y signature)

 

Gracias,

Link to comment
Share on other sites

Hola.

Prueba con esto:

Sub SendData()
Dim Enviado As String
Dim Http As String

    Http = "https://sandbox.checkout.payulatam.com/ppp-web-gateway-payu"
    Enviado = Replace( _
            "?merchantId=" & "508029" & _
            "&accountId=" & "512321" & _
            "&description=" & "Test Pago" & _
            "&referenceCode=" & "TestPago" & _
            "&amount=" & "20000" & _
            "&tax=" & "0" & _
            "&taxReturnBase=" & "0" & _
            "&currency=" & "COP" & _
            "&signature=" & "7ace3c4c2ce3e343f462cfe1b9159f5f", _
            " ", "+")
        ThisWorkbook.FollowHyperlink Http & Enviado
    
End Sub

 

Un saludo.

Link to comment
Share on other sites

@qwerty123 tu propuesta es muy buena si el formulario fuese de method GET, como el formulario que utilizo es de method POST al enviar dicha información la web genera el error Type of integration unsupported.

Sigo buscando pero no he hallado la forma correcta.

Gracias

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Crear macros Excel

  • Posts

    • Simplemente pon Tema Solucionado, aunque luego si me da tiempo lo miro
    • Estimados buenos días, En vista de que no sé como eliminar este tema que inicié, les informo que ya pude solucionar el problema, la única solución que pude darle fue realizar las ejecuciones por tiempo, es decir que primero me importe la información que contenga coincidencias entre ambas hojas, me realice los cálculos y luego envíe la información a las hojas correspondientes, luego importa la información que no tienen coincidencia y ahí no realiza ningún cálculo ya que no hay información, entonces esa información la pasa a las hojas respectivas. Lo estuve probando y funciona sin problemas, adjunto el Excel (Macro - Presupuesto) para que puedan revisarlo y si hay alguna otra sugerencia quedaría agradecido para poder ampliar mis conocimientos con respecto a todo este mundo de las Macros, Muchas gracias por su tiempo y disculpen los inconvenientes. Saludos cordiales
    • Muchas gracias a los dos. Ambas respuestas me han servido, pero por sencillez he optado por la de JSDJSD. No obstante, como comenté anteriormente, tengo que tener siempre activa una impresora (de tickets) entonces si le doy a la macro, al crearse el PDF lo hace en el formato de esa impresora. Por tanto, pensé en el inicio de ejecutar la macro poner:  Application.ActivePrinter = "Microsoft Print to PDF" Y una vez finalizada la macro, cambiar a la impresora de Tickets, pero me da error. ¿Hay alguna forma de conseguir esto que comento? Gracias.
    • Ya puedes descargar un Test de Excel, hecho con el cálculo iterativo de las fórmulas de Excel.¡Mentira!¡No lo vas a poder descargar!He incrustado el test en mi blog, y sólo vas a poder realizar el test en modo online, desde un navegador Web o con una tableta o un móvil Android o Mac.   Enlace aquí:https://pedrowave.blogspot.com/2021/10/test-de-excel-con-calculo-iterativo.html     Ventajas de tener el Test de Excel en la nube: No contiene macros VBA ni Office Script. Se actualiza automáticamente al ser un Excel en la Web. Siempre verás la versión más actualizada del Test. Todos los usuarios harán el Test en las mismas condiciones. Se puede hacer el Test en la nube, incluso sin tener Excel instalado. Puedes hacer comentarios al Test en la nube. Puedo actualizar el Test cuando quiera para añadir más preguntas. Puedo modificar su comportamiento, mejorar su uso y/o corregir errores. Puedo proteger mucho mejor mis derechos de autor, para que no se pueda copiar mi idea de este Test de Excel. Gracias anticipadas por seguirme, por tus reacciones y por tus comentarios.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy