Resnično uživam v stvareh WinHTTP in spletnih storitev (zlasti REST). Čeprav moram za vsako malenkost, ki se je naučim, precej raziskati in se šele začenjam, je vredno.
Sinoči sem ugotovil, kako spremeniti spremenljivko od VBA do PHP in nazaj. Z drugimi besedami, naučil sem se, kako spremeniti spremenljivko VBA v funkcijo PHP (ki se nahaja v datoteki na strežniku AutomateExcel), manipulirati s spremenljivko in nato vrniti nov rezultat nazaj v VBA.
Opomba: spremenljivka je poslana kot niz.
Na primer, do sporočila na tej sliki je prišel:
1. Pošiljanje spremenljivke s številko 15 prek HTTP v datoteko PHP na AutomateExcel
2. Funkcija PHP vzame spremenljivko, jo pomnoži s 500, nato vrne odgovor, v tem primeru 7500
3. VBA prebere odgovor in odgovor vrne v polje za sporočila
Evo, kako izgleda koda PHP. Odprite beležnico, kopirajte in prilepite te podatke, shranite datoteko s pripono php in jo naložite na strežnik:
12345678910111213141516 |
Odgovora nisem vrnil v XML, da bi bil primer preprost. Tu je koda VBA za pošiljanje in sprejemanje podatkov, spremenite niz povezave tako, da kaže na datoteko php, ki ste jo pravkar ustvarili:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 'Dodajte sklic na storitve Microsoft WinHTTPKonst. HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Private Sub GetItems ()Zatemni MyCon kot nov WinHttpRequestZatemni tako kot dvojnoDim myanswer As String'spremenljivko za pošiljanjepošlji = 15'Niz povezave za pošiljanjeMyCon.Odprite "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & pošlji to'poslatiMyCon.Send'vrnimyanswer = MyCon.ResponseTextMsgBox moj odgovorEnd Sub |
Opomba: Dodajte sklic na storitve Microsoft WinHTTP
To je super!