对Visual Basic项目的编程访问不受信任

时间:2014-09-03 07:11:51

标签: excel vba excel-vba programmatically-created

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

那个没有工作的人打开了excel但是有一个错误说:

  

"对可视化基础项目的编程访问不受信任"。

就像我说两个excel文件非常相似。那个没有工作的人确实参考了另外两个没有的项目。他们是,

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

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

3 个答案:

答案 0 :(得分:76)

档案 - >选项 - >信托中心 - >信托中心设置 - >宏设置 - >信任访问VBA项目对象模型。

enter image description here

enter image description here

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

答案 1 :(得分:1)

Mac版本-过去在Mac版本上没有此设置。您确实总是得到一个对话来说明问题。

但是现在,至少在16.30版中,不确定多久以前,Mac用户具有相同的可用设置。

顺便说一句,它是在安全之下,而不是在信任之下。

HTH

screenshot privacy trust VBA object model

答案 2 :(得分:0)

使用Mark Hammond的pywin32模块在​​Python中执行此操作非常容易。

@ user2140173的上述内容实际上是在更改某些注册表值。可以通过pywin32模块以编程方式完成此操作,如下所示:

导入win32api     导入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