Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA JSON POST循环_Json_Excel_Vba_Post - Fatal编程技术网

Excel VBA JSON POST循环

Excel VBA JSON POST循环,json,excel,vba,post,Json,Excel,Vba,Post,我试图完成的是遍历一个特定的表列,并为每个可见行返回该单元格的值。此单元格包含一个公式,该公式根据表中其他列中的值创建JSON。下面是我想循环浏览的专栏的一个示例: 在这个循环中,我将使用每个单元格值并发布JSON,但它需要循环并发布该列中的每个单元格。下面是我用来发布没有循环的单个单元格的VBA代码: Sub FulcrumUpload() Dim xhr As Object, thisRequest As String, JSONvalue As String Set xhr = Cr

我试图完成的是遍历一个特定的表列,并为每个可见行返回该单元格的值。此单元格包含一个公式,该公式根据表中其他列中的值创建JSON。下面是我想循环浏览的专栏的一个示例:

在这个循环中,我将使用每个单元格值并发布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

假设过滤后的数据位于第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

真是太棒了!!正是我需要的。非常感谢您如此快速地回答与此相关的新问题:抱歉,我将其添加到原始问题中。我是否需要开始一个新问题?您是真的想要两个循环,还是只想要Y列为空,然后从Z中取值?是的,这应该是一个新问题。