Comunicare tra Excel e PHP

Sommario

Mi piacciono molto le cose WinHTTP e Web Services (in particolare REST). Anche se ho bisogno di fare molte ricerche per ogni piccola cosa che imparo, e ho appena iniziato, ne vale la pena.

Ieri sera ho capito come eseguire il round trip di una variabile da VBA a PHP e viceversa. In altre parole, ho imparato come passare una variabile VBA a una funzione PHP (che risiede in un file sul server AutomateExcel), manipolare la variabile, quindi restituire il nuovo risultato a VBA.

Nota: la variabile viene inviata come stringa.

Ad esempio, la finestra di messaggio in questa immagine è arrivata da:

1. Invio di una variabile contenente il numero 15 su HTTP a un file PHP su AutomateExcel

2. Una funzione PHP prende la variabile, la moltiplica per 500, quindi restituisce la risposta, in questo caso 7500

3. VBA legge la risposta e restituisce la risposta in un msgbox

Ecco come appare il codice PHP. Apri il blocco note, copia e incolla queste informazioni, salva il file con l'estensione php e carica sul tuo server:

12345678910111213141516

Non ho restituito la risposta in XML per mantenere l'esempio semplice. Ecco il codice VBA per inviare e ricevere i dati, cambia la stringa di connessione in modo che punti al file php appena creato:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Aggiungi un riferimento a Microsoft WinHTTP ServicesCostante HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Sottotitoli privati ​​GetItems()Dim MyCon come nuovo WinHttpRequestDim sendthis As DoubleDim la mia risposta come stringa'variabile da inviareinviaquesto = 15'Stringa di connessione da inviareMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"?PassThis=" & sendthis'invialoMyCon.Send'restituirlomyanswer = MyCon.ResponseTextMsgBox la mia rispostaFine sottotitolo

Nota: aggiungere un riferimento a Microsoft WinHTTP Services

È fantastico!

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave