Наистина се наслаждавам на нещата от WinHTTP и уеб услуги (по -специално REST). Въпреки че трябва да проуча доста за всяко малко нещо, което науча, и тепърва започвам, заслужава си.
Снощи разбрах как да върна променлива от VBA до PHP и обратно. С други думи, научих се как да предам VBA променлива на PHP функция (пребиваваща във файл на сървъра AutomateExcel), да манипулирам променливата, след което да върна новия резултат обратно на VBA.
Забележка: Променливата се изпраща като низ.
Например полето за съобщение на тази снимка е получено от:
1. Изпращане на променлива с номер 15 по HTTP до PHP файл на AutomateExcel
2. PHP функция приема променливата, умножава я по 500, след което връща отговора, в този случай 7500
3. VBA чете отговора и връща отговора в съобщение
Ето как изглежда PHP кодът. Отворете бележника, копирайте и поставете тази информация, запазете файла с разширението php и качете на вашия сървър:
12345678910111213141516 |
Не върнах отговора в XML, за да поддържам примера прост. Ето кода на VBA за изпращане и получаване на данните, промяна на низа за връзка, за да сочи току -що създадения от вас php файл:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | „Добавете препратка към услугите на Microsoft WinHTTPConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Private Sub GetItems ()Затъмнете MyCon като нов WinHttpRequestЗатъмнете изпращането като двойноDim myanswer As String'променлива за изпращанеизпрати това = 15'Низ за връзка за изпращанеMyCon.Open "GET", _„https://www.automateexcel.com/excel/pl/server500.php“ & _"? PassThis =" & изпратете това'изпрати гоMyCon.Send'Върни гоmyanswer = MyCon.ResponseTextMsgBox моят отговорEnd Sub |
Забележка: Добавете препратка към услугите на Microsoft WinHTTP
Това е страхотно!