Naozaj ma baví veci WinHTTP a webové služby (konkrétne REST). Aj keď potrebujem dosť skúmať každú drobnosť, ktorú sa naučím, a práve začínam, stojí to za to.
Včera večer som prišiel na to, ako zaokrúhliť premennú od VBA po PHP a späť. Inými slovami, naučil som sa, ako odovzdať premennú VBA do funkcie PHP (nachádzajúcej sa v súbore na serveri AutomateExcel), manipulovať s premennou a potom vrátiť nový výsledok späť do VBA.
Poznámka: Premenná je odoslaná ako reťazec.
Do poľa so správou na tomto obrázku napríklad prišiel:
1. Odoslanie premennej s číslom 15 cez HTTP do súboru PHP na serveri AutomateExcel
2. PHP funkcia vezme premennú, vynásobí ju 500 a potom vráti odpoveď, v tomto prípade 7500
3. VBA prečíta odpoveď a vráti odpoveď v msgboxe
Takto vyzerá kód PHP. Otvorte poznámkový blok, skopírujte a prilepte tieto informácie, uložte súbor s príponou php a nahrajte na server:
12345678910111213141516 |
Aby bol príklad jednoduchý, nevrátil som odpoveď v XML. Tu je kód VBA na odosielanie a prijímanie údajov, zmeňte reťazec pripojenia tak, aby smeroval na súbor php, ktorý ste práve vytvorili:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | "Pridajte odkaz na služby Microsoft WinHTTP."Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Súkromné čiastkové položky ()Dim MyCon ako nový WinHttpRequestDim sendthis This As DoubleDim myanswer As String'premenná na odoslaniepošli to = 15'Pripojovací reťazec na odoslanieMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & pošlite to'odoslaťMyCon.Send'vráť tomyanswer = MyCon.ResponseTextMsgBox moja odpoveďKoniec pod |
Poznámka: Pridajte odkaz na služby Microsoft WinHTTP
To je úžasné!