【问题标题】:Running script on all columns in excel/VBA在 excel/VBA 中的所有列上运行脚本
【发布时间】:2015-03-31 22:25:14
【问题描述】:

所以,我有一个 HTTP PUT 请求,我需要在大量数据上运行。 (超过 50,000 个细胞)

所有这些都包含在两行和大约 25,000 列中。第一行是要 PUT 的 HTTP URL,第二行是作为请求的较大字符串的一部分的数据。

假设我的工作表的前两列如下,其中单元格用逗号分隔

Location1, Sample Data 1
Location2, Sample Data 2

我将向 domain.com/API/Location1 发送一个 PUT 请求,其中包含字符串“data=Sample Data 1”,其中“domain.com/API/”是一个常量,“data=”也是一个常量。

对 excel 了解不够,我只是创建了一个按钮来调用我的代码。我还在研究如何将单元格数据插入到这段代码中。

Private Sub CommandButton1_Click()

URL = "https://domain.com/api/Location1" 
DATA = "here_is_a_long_string_specifying_the_value_to_modify=Sample Data 1"
   Set HTTP = CreateObject("Microsoft.XMLHTTP")
   HTTP.Open "PUT", URL, False
   HTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
   HTTP.send REQUEST

End Sub

最终我希望它做一些类似 URL = ""(1,x)

然后继续遍历列表,所以 (1,1) 然后是 1,2 和 1,3,等等。

我现在不确定在哪里进行搜索

【问题讨论】:

  • 你真的有 25k 列吗?我认为最大值约为 16k。
  • 它全部包含在多张纸上。这是显示该项目有多大的近似值。顺便感谢您的编辑。

标签: vba http excel put


【解决方案1】:

如果我理解正确,这可能会有所帮助:

在 Excel VBA 中获取单元格数据:

cells(rowindex,columnindex).value

URL = "https://domain.com/api/" & cells(1,1).value
DATA = "yaddayadda=" & cells(2,1).value

为此添加一个 for 循环,一切顺利:

For i = 1 To Cells(1, 1).End(xlToRight).Column 'assuming your cells are continously filled
 URL = "https://domain.com/api/" & Cells(1, i).Value
 DATA = "yaddayadda=" & Cells(2, i).Value
Next i

Cells(1, 1).End(xlToRight).Column

part 查找最后一个填充单元格的列号,从单元格 A1 开始,向右移动。

希望这会有所帮助,我并没有完全误解您的问题。 :)

【讨论】:

  • 另外,您可能想要转置您的数据,Excel 向下的时间比它的宽度要长。
  • 嘿!非常感谢您的回复。我稍后会试试这个。如果您想查看我的方法,我也发布了自己的答案。我的有点过时了,希望我能把你的用起来,在这个过程中学到新的东西
【解决方案2】:

所以,我的脚本工作了

x=0
While x < 25000
x = (x + 1)
URL = "https://domain.com/api/" Sheet1.Cells(x, 1)
DATA = "string_of_data=" Sheet1.Cells(x, 1)
   set HTTP = CreateObject("Microsoft.XMLHTTP")
   HTTP.Open "PUT", URL, False, "Login", "Password"
   HTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
   HTTP.send DATA
wend

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2023-03-13
    • 2014-01-05
    相关资源
    最近更新 更多