Kommunikáció Excel és PHP között

Tartalomjegyzék

Nagyon élvezem a WinHTTP és a Web Services (konkrétan a REST) ​​dolgokat. Annak ellenére, hogy sokat kell kutakodnom minden apró dologért, amit megtanulok, és még csak most kezdem, megéri.

Tegnap este rájöttem, hogyan lehet egy változót oda -vissza utazni VBA -ról PHP -re és vissza. Más szóval megtanultam, hogyan kell egy VBA változót átadni egy PHP függvénynek (az AutomateExcel kiszolgálón található fájlban), manipulálni a változót, majd visszaadni az új eredményt a VBA -nak.

Megjegyzés: A változó karakterláncként kerül elküldésre.

Például a kép üzenettábláját a következők kapták:

1. A 15 -ös számot tartalmazó változó elküldése HTTP -n keresztül az AutomateExcel PHP fájljába

2. A PHP függvény felveszi a változót, megszorozza 500 -zal, majd visszaadja a választ, jelen esetben 7500 -at

3. A VBA elolvassa a választ, és egy üzenetben visszaadja a választ

Így néz ki a PHP kód. Nyissa meg a Jegyzettömböt, másolja és illessze be ezeket az adatokat, mentse el a fájlt a php kiterjesztéssel, és töltse fel a szerverre:

12345678910111213141516

Nem válaszoltam XML -ben, hogy a példa egyszerű legyen. Itt van a VBA kód az adatok küldéséhez és fogadásához, módosítsa a kapcsolati karakterláncot, hogy az éppen létrehozott php fájlra mutasson:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Hivatkozás hozzáadása a Microsoft WinHTTP szolgáltatásokhozÁllapot HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Privát GetItems alrészek ()Dim MyCon mint új WinHttpRequestDim küldés DuplakéntVélemények halványítása karakterláncként'változó küldeniküldés = 15'Kapcsolati karakterlánc küldeniMyCon. Nyissa meg a "GET" lehetőséget, _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'Küldje elMyCon.Küldés'Hozd visszamyanswer = SajátCon.ResponseTextMsgBox saját válaszEnd Sub

Megjegyzés: Hivatkozás hozzáadása a Microsoft WinHTTP szolgáltatásokhoz

Ez elképesztő!

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave