Comunicarse entre Excel y PHP

Tabla de contenido

Realmente estoy disfrutando de las cosas de WinHTTP y Web Services (específicamente REST). Aunque necesito investigar bastante para cada pequeña cosa que aprendo, y apenas estoy comenzando, vale la pena.

Anoche descubrí cómo realizar un viaje de ida y vuelta a una variable de VBA a PHP y viceversa. En otras palabras, aprendí cómo pasar una variable VBA a una función PHP (que reside en un archivo en el servidor AutomateExcel), manipular la variable y luego devolver el nuevo resultado a VBA.

Nota: la variable se envía como una cadena.

Por ejemplo, se llegó al cuadro de mensaje de esta imagen mediante:

1. Envío de una variable con el número 15 a través de HTTP a un archivo PHP en AutomateExcel

2. Una función PHP toma la variable, la multiplica por 500, luego devuelve la respuesta, en este caso 7500

3. VBA lee la respuesta y devuelve la respuesta en un cuadro de mensaje.

Así es como se ve el código PHP. Abra el bloc de notas, copie y pegue esta información, guarde el archivo con la extensión php y cárguelo en su servidor:

12345678910111213141516

No devolví la respuesta en XML para mantener el ejemplo simple. Aquí está el código VBA para enviar y recibir los datos, cambie la cadena de conexión para que apunte al archivo php que acaba de crear:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Agregar una referencia a Microsoft WinHTTP ServicesConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Sub GetItems privado ()Dim MyCon como nuevo WinHttpRequestDim envía esto como dobleDim myanswer como cadena'variable para enviarenviar esto = 15'Cadena de conexión para enviarMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & enviar esto'mándaloMyCon.Send'devolverlomyanswer = MyCon.ResponseTextMsgBox myanswerEnd Sub

Nota: agregue una referencia a los servicios Microsoft WinHTTP

¡Eso es genial!

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave