Communiceren tussen Excel en PHP

Inhoudsopgave

Ik geniet echt van de dingen van WinHTTP en Web Services (met name REST). Hoewel ik nogal wat onderzoek moet doen voor elk klein ding dat ik leer, en ik ben nog maar net begonnen, is het de moeite waard.

Gisteravond ben ik erachter gekomen hoe ik een variabele van VBA naar PHP en terug kan omleiden. Met andere woorden, ik heb geleerd hoe ik een VBA-variabele kan doorgeven aan een PHP-functie (die zich in een bestand op de AutomateExcel-server bevindt), de variabele manipuleert en het nieuwe resultaat vervolgens terugstuurt naar VBA.

Opmerking: de variabele wordt verzonden als een string.

Het berichtvenster in deze afbeelding is bijvoorbeeld bereikt door:

1. Een variabele met het nummer 15 via HTTP verzenden naar een PHP-bestand op AutomateExcel

2. Een PHP-functie neemt de variabele, vermenigvuldigt deze met 500 en retourneert vervolgens het antwoord, in dit geval 7500

3. VBA leest het antwoord en retourneert het antwoord in een msgbox

Zo ziet de PHP-code eruit. Open Kladblok, kopieer en plak deze info, sla het bestand op met de extensie php, en upload naar je server:

12345678910111213141516

Ik heb het antwoord niet in XML geretourneerd om het voorbeeld eenvoudig te houden. Hier is de VBA-code om de gegevens te verzenden en te ontvangen, verander de verbindingsreeks om te verwijzen naar het php-bestand dat u zojuist hebt gemaakt:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ' Voeg een verwijzing toe naar Microsoft WinHTTP ServicesConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Privé Sub GetItems()Dim MyCon als nieuwe WinHttpRequestDim stuur dit als dubbelDim mijn antwoord als string'variabele om te verzenden'stuur dit = 15'Verbindingsreeks om te verzenden'MyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"?PassThis=" & stuur dit'stuur hetMyCon.Send'breng het terugmijnantwoord = MyCon.ResponseTextMsgBox mijn antwoordEinde sub

Opmerking: voeg een verwijzing toe naar Microsoft WinHTTP Services

Dat is geweldig!

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave