Bendraukite tarp „Excel“ ir PHP

Turinys

Man labai patinka „WinHTTP“ ir „Web Services“ (ypač REST) ​​dalykai. Nors man reikia nemažai ištirti kiekvieną smulkmeną, kurią išmokau, ir aš tik pradedu, tai verta.

Praėjusią naktį supratau, kaip pakeisti kintamąjį iš VBA į PHP ir atgal. Kitaip tariant, išmokau, kaip perduoti VBA kintamąjį PHP funkcijai (esantį faile „AutomateExcel“ serveryje), manipuliuoti kintamuoju, tada grąžinti naują rezultatą atgal į VBA.

Pastaba: kintamasis siunčiamas kaip eilutė.

Pavyzdžiui, pranešimo laukelį šioje nuotraukoje pasiekė:

1. Kintamojo, turinčio skaičių 15, siuntimas per HTTP į PHP failą „AutomateExcel“

2. PHP funkcija paima kintamąjį, padaugina jį iš 500, tada grąžina atsakymą, šiuo atveju 7500

3. VBA skaito atsakymą ir grąžina atsakymą žinutės dėžutėje

Štai kaip atrodo PHP kodas. Atidarykite bloknotą, nukopijuokite ir įklijuokite šią informaciją, išsaugokite failą su plėtiniu php ir įkelkite į savo serverį:

12345678910111213141516

Aš negrąžinau atsakymo XML, kad pavyzdys būtų paprastas. Štai VBA kodas duomenims siųsti ir gauti, pakeiskite ryšio eilutę, kad ji nurodytų ką tik sukurtą php failą:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 „Pridėkite nuorodą į„ Microsoft WinHTTP Services “Santrauka HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Privatūs „GetItems“ antriniai elementai ()„Dim MyCon“ kaip naujas „WinHttpRequest“„Dim sendthis As Double“Užtemdyti mano atsakymą kaip eilutę'kintamasis siųstisiuntimas = 15„Ryšio eilutė, kurią reikia siųsti„MyCon“. Atidarykite „GET“, _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'atsiųskMyCon.Siųsti'gražintimyanswer = MyCon.ResponseText„MsgBox“ mano atsakymasPabaiga Sub

Pastaba: pridėkite nuorodą į „Microsoft WinHTTP Services“

Tai nuostabu!

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave