ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

Как Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос Π½Π° 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. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Настройка Π»Π΅Π½Ρ‚Ρ‹ Π² спискС ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ установитС Ρ„Π»Π°ΠΆΠΎΠΊ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

web

Π”Π°Π»Π΅Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Visual Basic.

web

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ VBA, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Insert > Module, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для написания запроса.

web

Π’ ΠΎΠΊΠ½ΠΎ модуля вставляСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса Π½Π° 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. НаТмитС Π½Π° web для запуска макроса;
4. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€, Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° содСрТит ID сообщСния (idMessage) ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ячСйкС Π½Π° листС.

web