Как выполнить запрос на VBA?#
Вы можете выполнять запросы методов API на Visual Basic for Applications (VBA).
Visual Basic for Applications — упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (в том числе для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS.
Как выполнить запрос на VBA из Excel#
Для того чтобы выполнить запрос в Excel, необходимо включить вкладку Разработчик
:
1. На вкладке Файл
перейдите в раздел Параметры
> Настройка ленты
.
2. В разделе Настройка ленты
в списке Основные вкладки
установите флажок Разработчик
.
Далее откройте вкладку Разработчик
, выберите подвкладку Visual Basic
.
В открывшемся окне VBA, перейдите во вкладку Insert
> Module
, чтобы создать рабочую область для написания запроса.
В окно модуля вставляем пример запроса на VBA. Для примера используем отправку сообщения методом SendMessage.
Sub SendMessage()
Dim url As String
Dim RequestBody As String
Dim http As Object
Dim response As String
' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
url = "{{apiUrl}}/waInstance{{idInstance}}/sendMessage/{{apiTokenInstance}}"
' chatId is the number to send the message to (@c.us for private chats, @g.us for group chats)
RequestBody = "{""chatId"":""70123456789@c.us"",""message"":""Hello World""}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.Send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub
Чтобы выполнить запрос:
1. Введите значение apiUrl
, idInstance
и apiTokenInstance
из личного кабинета, убрав двойные фигурные скобки;
2. Укажите номер получателя сообщения в поле chatId
и тело сообщения в поле message
;
3. Нажмите на для запуска макроса;
4. Сообщение будет отправлено на указанный номер, тело ответа содержит ID сообщения (idMessage) и будет отображено в указанной ячейке на листе.