Excel 2010 宏不工作
Excel 2010 Macro doesnt work
我在 Excel 宏中写了一个 VBA 脚本。我基本上从行中收集数据并将其发布到 RESTful 服务。
它适用于我们所有的机器,除了当我们点击按钮时没有任何反应的机器。没有任何类型的 errors/messages。
代码位于 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
我已经完成了通常的步骤,例如:
- 在信任中心设置中选择启用所有宏
- 在信任中心设置中启用对 VBA 项目对象模型的信任访问
- 在控制面板 -> 程序和功能 -> Microsoft Office 2010 中选择 'Run all from my Computer'
- 重新安装 Office 2010 几次。
我什至在我的机器上获得了管理员权限。
如果需要任何进一步的详细信息,请告诉我。
求助!
编辑
我不得不说这是我第一次使用 Excel 宏 (VBA) 进行编码。
我已经在 Microsoft Excel Objects(MEO) 的相应工作表中编写了我的代码。如果我将它移动到模块,它就可以工作。
在很多机器上它(MEO 内的代码)仍然可以正常工作。为什么会出现这种行为?
问题是由于 @chrisneisen 在评论中分享的 Microsoft 安全更新。
我们有两类:可以使用宏的机器(缩写为 WM)和不能使用宏的机器(缩写为 NWM)。
解决方法是在NWM上重新编译VB代码。
我尝试在 NWM 上重新编译代码,但是 excel 尝试这样做时一直崩溃。因此,我复制了一份工作表,将原始工作表重命名为临时名称,并将新复制的工作表重命名为原始名称。现在新复制的工作表中的宏起作用了(在 WM 和 NWM 中)。
当我试图删除原始工作表时,excel 再次崩溃,所以我决定简单地隐藏它。
我在 Excel 宏中写了一个 VBA 脚本。我基本上从行中收集数据并将其发布到 RESTful 服务。 它适用于我们所有的机器,除了当我们点击按钮时没有任何反应的机器。没有任何类型的 errors/messages。 代码位于 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
我已经完成了通常的步骤,例如:
- 在信任中心设置中选择启用所有宏
- 在信任中心设置中启用对 VBA 项目对象模型的信任访问
- 在控制面板 -> 程序和功能 -> Microsoft Office 2010 中选择 'Run all from my Computer'
- 重新安装 Office 2010 几次。
我什至在我的机器上获得了管理员权限。 如果需要任何进一步的详细信息,请告诉我。
求助!
编辑
我不得不说这是我第一次使用 Excel 宏 (VBA) 进行编码。 我已经在 Microsoft Excel Objects(MEO) 的相应工作表中编写了我的代码。如果我将它移动到模块,它就可以工作。 在很多机器上它(MEO 内的代码)仍然可以正常工作。为什么会出现这种行为?
问题是由于 @chrisneisen 在评论中分享的 Microsoft 安全更新。
我们有两类:可以使用宏的机器(缩写为 WM)和不能使用宏的机器(缩写为 NWM)。 解决方法是在NWM上重新编译VB代码。
我尝试在 NWM 上重新编译代码,但是 excel 尝试这样做时一直崩溃。因此,我复制了一份工作表,将原始工作表重命名为临时名称,并将新复制的工作表重命名为原始名称。现在新复制的工作表中的宏起作用了(在 WM 和 NWM 中)。 当我试图删除原始工作表时,excel 再次崩溃,所以我决定简单地隐藏它。