56

我的电脑上有两个计划任务。它们都打开 Excel 文件并运行宏,并且它们的工作非常相似。他们都在我的电脑上工作。但是,我将计划任务移到了同事的计算机上。一个工作了另一个没有。

那个不工作的打开 Excel 但有一个错误说:

“不信任对 Visual Basic 项目的编程访问”。

就像我说的,两个 Excel 文件非常相似。一个不起作用的确实引用了另外两个项目,而另一个没有。他们是,

Microsoft Visual Basic for Applications Extensibility 5.3
Microsoft Windows Common Controls-2.6.0 (SP6)

我以前从未遇到过这个错误。

4

3 回答 3

107

文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置 -> 信任对 VBA 项目对象模型的访问。

enter image description here

enter image description here

如果您要引用可扩展性库,通常需要这样做。

于 2014-09-03T07:15:24.537 回答
4

pywin32使用Mark Hammond的模块在 Python 中很容易做到这一点。

@user2140173 的上述帖子实际上是更改一些注册表值。这可以通过pywin32模块以编程方式完成,如下所示:

import win32api
import win32con

key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,
                            "Software\\Microsoft\\Office\\16.0\\Excel"
                            + "\\Security", 0, win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx(key, "AccessVBOM", 0, win32con.REG_DWORD, 1)

参考:

  1. http://docs.activestate.com/activepython/2.4/pywin32/win32api__RegSetValueEx_meth.html
  2. http://docs.activestate.com/activepython/2.4/pywin32/win32api__RegOpenKeyEx_meth.html
于 2018-08-03T19:45:55.690 回答
3

Mac 版本 - 过去在 Mac 版本上没有此设置。你确实总是有一个对话说这件事。

但是现在,至少在 16.30 版本中,不知道多久以前,Mac 用户可以使用相同的设置。

顺便说一句,它处于安全状态,而不是信任状态。

高温高压

截图隐私信任VBA对象模型

于 2019-10-20T14:36:50.250 回答