Ma naudin tõesti WinHTTP ja veebiteenuste (täpsemalt REST) asju. Kuigi ma pean iga õpitava pisiasja kohta üsna palju uurima ja alles alustan, on see seda väärt.
Eile õhtul mõistsin, kuidas muuta muutuja VBA -st PHP -sse ja tagasi. Teisisõnu, õppisin, kuidas edastada VBA muutuja PHP -funktsioonile (mis asub failis AutomateExceli serveris), muutujaga manipuleerida ja seejärel uus tulemus VBA -le tagasi saata.
Märkus. Muutuja saadetakse stringina.
Näiteks selle pildi sõnumikasti jõudis:
1. Muutuja saatmine numbrit 15 hoides HTTP kaudu PHP -faili veebisaidil AutomateExcel
2. Funktsioon PHP võtab muutuja, korrutab selle 500 -ga ja tagastab vastuse, antud juhul 7500
3. VBA loeb vastuse ja tagastab vastuse sõnumikastis
Siin näeb välja PHP -kood. Avage märkmik, kopeerige ja kleepige see teave, salvestage fail laiendiga php ja laadige oma serverisse üles:
12345678910111213141516 |
Ma ei saatnud XML -is vastust, et näide oleks lihtne. Siin on andmete saatmiseks ja vastuvõtmiseks VBA -kood, muutke ühendusstringi, et osutada äsja loodud php -failile:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | "Lisage viide Microsofti WinHTTP teenusteleEeskiri HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Privaatne alam GetItems ()Dim MyCon kui uus WinHttpRequestHämardage see kahekordsenaDim myanswer stringina'muutuja saatasee = 15'Ühendusstring saataMyCon. Avage "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'saada seeMyCon. Saada'tagasta seemyanswer = MyCon.ResponseTextMsgBox minu vastusEnd Sub |
Märkus. Lisage viide Microsofti WinHTTP teenustele
See on suurepärane!