Kommunikoi Excelin ja PHP: n välillä

Sisällysluettelo

Nautin todella WinHTTP- ja verkkopalveluista (erityisesti REST). Vaikka minun on tutkittava melko paljon jokaista oppimaani pientä asiaa ja olen vasta aloittamassa, se on sen arvoista.

Eilen illalla tajusin kuinka kiertää muuttuja VBA: sta PHP: hen ja takaisin. Toisin sanoen olen oppinut välittämään VBA -muuttujan PHP -toiminnolle (joka sijaitsee tiedostossa AutomateExcel -palvelimessa), käsittelemään muuttujaa ja palauttamaan sitten uuden tuloksen takaisin VBA: lle.

Huomautus: Muuttuja lähetetään merkkijonona.

Esimerkiksi tämän kuvan viestiruutuun saapui:

1. Lähetetään muuttuja, jolla on numero 15 HTTP: n kautta, PHP -tiedostoon AutomateExcelissä

2. PHP -funktio ottaa muuttujan, kertoo sen 500: lla ja palauttaa sitten vastauksen, tässä tapauksessa 7500

3. VBA lukee vastauksen ja palauttaa vastauksen viestilaatikkoon

Tältä PHP -koodi näyttää. Avaa muistilehtiö, kopioi ja liitä nämä tiedot, tallenna tiedosto laajennuksella php ja lataa palvelimellesi:

12345678910111213141516

En palauttanut vastausta XML -muodossa, jotta esimerkki olisi yksinkertainen. Tässä on VBA -koodi tietojen lähettämiseen ja vastaanottamiseen, vaihda yhteysmerkkijono osoittamaan juuri luomaasi php -tiedostoon:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Lisää viittaus Microsoft WinHTTP -palveluihinVakio HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Yksityinen ali GetItems ()Dim MyCon uutena WinHttpRequestHimmennä lähetys kaksinkertaisenaHimmennä vastaus merkkijonona'muuttuja lähetettäväksilähetys = 15'Yhteysjono lähetettäväksiMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & lähetä tämä'Lähetä seMyCon.Lähetä'palauta semyanswer = MyCon.ResponseTextMsgBox -vastausEnd Sub

Huomautus: Lisää viittaus Microsoft WinHTTP -palveluihin

Se on mahtavaa!

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave