我的计算机上有两个计划任务。它们都打开 Excel 文件并运行宏,并且它们的功能非常相似。它们都在我的电脑上运行。不过,我将计划任务移至同事的计算机上。一个有效,另一个无效。
不起作用的那个打开了 Excel,但出现错误:
“对 Visual Basic 项目的编程访问不受信任”。
就像我说的,两个 Excel 文件非常相似。那个不起作用的项目确实引用了另外两个项目,而另一个则没有。他们是,
Microsoft Visual Basic for Applications Extensibility 5.3
Microsoft Windows Common Controls-2.6.0 (SP6)
我以前从未遇到过这个错误。
文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置 -> 信任对 VBA 项目对象模型的访问。
如果您引用可扩展性库,这通常是需要的。
使用 Mark Hammond 的
pywin32
模块在 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)
参考资料: