Kommunicera mellan Excel och PHP

Innehållsförteckning

Jag gillar verkligen WinHTTP och Web Services (särskilt REST). Även om jag behöver undersöka ganska mycket för varje liten sak jag lär mig, och jag har precis börjat, är det väl värt det.

Igår kväll kom jag på hur jag skulle kunna runda en variabel från VBA till PHP och tillbaka. Med andra ord, jag lärde mig hur man skickar en VBA -variabel till en PHP -funktion (som finns i en fil på AutomateExcel -servern), manipulerar variabeln och sedan returnerar det nya resultatet till VBA.

Obs! Variabeln skickas som en sträng.

Till exempel kom meddelanderutan i den här bilden fram av:

1. Skicka en variabel med nummer 15 över HTTP till en PHP -fil på AutomateExcel

2. En PHP -funktion tar variabeln, multiplicerar den med 500 och returnerar sedan svaret, i detta fall 7500

3. VBA läser svaret och returnerar svaret i en msgbox

Så här ser PHP -koden ut. Öppna anteckningsblock, kopiera och klistra in denna information, spara filen med tillägget php och ladda upp till din server:

12345678910111213141516

Jag returnerade inte svaret i XML för att hålla exemplet enkelt. Här är VBA -koden för att skicka och ta emot data, ändra anslutningssträngen för att peka på php -filen du just skapade:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Lägg till en referens till Microsoft WinHTTP -tjänsterConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Private Sub GetItems ()Dim MyCon som ny WinHttpRequestDim sendthis As DoubleDim myanswer As Stringvariabel att skickaskicka detta = 15'Anslutningssträng att skickaMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'skicka detMyCon.Send'lämna tillbaka detmyanswer = MyCon.ResponseTextMsgBox myanswerAvsluta Sub

Obs! Lägg till en referens till Microsoft WinHTTP -tjänster

Det är jättebra!

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave