Excel VBA JSON POST Loop - PullRequest
       9

Excel VBA JSON POST Loop

0 голосов
/ 26 августа 2018

То, что я пытаюсь сделать, - это пройти через определенный столбец таблицы и для каждой видимой строки вернуть значение этой ячейки.Эта ячейка содержит формулу, которая создает JSON из значений в таблице в других столбцах.Вот пример столбца, по которому я хочу перейти:он должен проходить и отправлять сообщения для каждой ячейки в этом столбце.Вот код VBA, который я использую для размещения одной ячейки без цикла:

Sub FulcrumUpload()

Dim xhr As Object, thisRequest As String, JSONvalue As String

Set xhr = CreateObject("Microsoft.XMLHTTP")
thisRequest = "https://api.fulcrumapp.com/api/v2/records.json"

xhr.Open "POST", thisRequest, False
xhr.setRequestHeader "Accept", "application/json"
xhr.setRequestHeader "Content-type", "application/json"
xhr.setRequestHeader "X-ApiToken", "11111111111111"

xhr.Send Sheets("Fulcrum Upload").Range("V3").value

End Sub

1 Ответ

0 голосов
/ 26 августа 2018

Предполагая, что ваши отфильтрованные данные находятся в столбце V, начиная с V3, возможно что-то вроде:

Public Sub FulcrumUpload()
    Dim xhr As Object, thisRequest As String, rng As Range

    Set xhr = CreateObject("Microsoft.XMLHTTP")
    thisRequest = "https://api.fulcrumapp.com/api/v2/records.json"

    With ThisWorkbook.Worksheets("Fulcrum Upload")
        For Each rng In .Range("V3:V" & .Cells(.Rows.Count, "V").End(xlUp).Row).SpecialCells(xlVisible)
            If Not IsEmpty(rng) Then
                With xhr
                    .Open "POST", thisRequest, False
                    .setRequestHeader "Accept", "application/json"
                    .setRequestHeader "Content-type", "application/json"
                    .setRequestHeader "X-ApiToken", "11111111111111"
                    .send rng.Value
                End With
            End If
        Next
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...