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ő!