我在Excel宏中编写了一个VBA脚本。我基本上从行中收集数据并将其发布到RESTful服务。 它适用于我们所有的机器,只有当我们点击按钮时没有任何反应。没有任何错误/消息。 代码驻留在Microsoft Excel对象(在相应的工作表下)。 我已复制下面的代码要点:
Const url As String = "https://xx.yy.com"
Const token As String = "aaaa"
Private Sub CommandButton1_Click()
LoadXX
End Sub
Function LoadXX()
Dim xChild1, xChild As MSXML2.IXMLDOMNode
Dim zipResult As New MSXML2.DOMDocument
Dim zipService As New MSXML2.XMLHttp
Randomize
random_number = Int(99999999 * Rnd) + 1
Query = url & "callService?sessionId=" & random_number
zipService.Open "GET", Query, False
zipService.setRequestHeader "X-Access-Token", token
On Error GoTo ThereWasBadConnection
zipService.send
zipResult.LoadXML (zipService.responseText)
End Function
我已经完成了通常的步骤,例如:
我的机器上甚至拥有管理员权限。 如果需要进一步的细节,请告诉我。
帮助!
修改
我不得不说这是我在Excel宏(VBA)中的第一次编码体验。 我已经在Microsoft Excel对象(MEO)中的相应工作表中编写了我的代码。如果我将它移动到模块,它的工作原理。 在许多机器中它(MEO中的代码)仍然可以正常工作。为什么会出现这种情况?
答案 0 :(得分:0)
问题在于评论中 @chrisneisen 共享的Microsoft安全更新。
我们有两个类别:宏工作的机器(缩写为WM)和不工作的机器(缩写为NWM)。 解决方案是在NWM上重新编译VB代码。
我试图在NWM上重新编译代码,但是当我尝试这样做时,excel一直在崩溃。因此,我制作了工作表的副本,将原始工作表重命名为临时名称,并将新复制的工作表重命名为原始名称。现在,新复制的工作表中的宏工作(在WM和NWM中)。 当我试图删除原始工作表时,excel再次崩溃,所以我决定隐藏它。