Excel 2010宏不起作用

时间:2015-01-06 08:02:40

标签: vba excel-vba excel-2010 excel

我在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

我已经完成了通常的步骤,例如:

  1. 选择在信任中心设置中启用所有宏
  2. 在信任中心设置中启用对VBA项目对象模型的信任访问
  3. 选择'全部从我的电脑上运行'在控制面板中 - >程序和功能 - > Microsoft Office 2010
  4. 重新安装Office 2010几次。
  5. 我的机器上甚至拥有管理员权限。 如果需要进一步的细节,请告诉我。

    帮助!

    修改

    我不得不说这是我在Excel宏(VBA)中的第一次编码体验。 我已经在Microsoft Excel对象(MEO)中的相应工作表中编写了我的代码。如果我将它移动到模块,它的工作原理。 在许多机器中它(MEO中的代码)仍然可以正常工作。为什么会出现这种情况?

1 个答案:

答案 0 :(得分:0)

问题在于评论中 @chrisneisen 共享的Microsoft安全更新。

我们有两个类别:宏工作的机器(缩写为WM)和不工作的机器(缩写为NWM)。 解决方案是在NWM上重新编译VB代码。

我试图在NWM上重新编译代码,但是当我尝试这样做时,excel一直在崩溃。因此,我制作了工作表的副本,将原始工作表重命名为临时名称,并将新复制的工作表重命名为原始名称。现在,新复制的工作表中的宏工作(在WM和NWM中)。 当我试图删除原始工作表时,excel再次崩溃,所以我决定隐藏它。