我使用VBA开发了Access应用程序。每次我打开Access时,都会得到以下信息:
我必须单击选项->启用内容来运行我的宏。该应用程序将在不那么精通技术的工作人员中共享。因此,按照要求,我必须将其删除。我已经尝试过对数据库进行签名/打包,但是它仍然没有摆脱警告。
最佳答案
为此,您必须在“受信任位置”中添加启动Excel的位置。
为此,请执行以下操作:
这将必须在每个PC上完成。
此外,从Excel文件的角度来看,这是没有办法的,因为这将完全使用户选择是否运行VBA代码的安全功能无效。
另外,请注意,如果您签署Excel文件,您仍然需要收件人来信任您作为发布者,因此这就是您的解决方案可能无法正常工作的原因。
编辑:
考虑到评论,似乎确实存在以编程方式执行此操作的方法。根据XpertsExchange的资料,
为什么不从代码中设置注册表项,而不调用Shell?使用在这里找到的cRegistry类:
http://www.vbaccelerator.com/home/VB/Code/Libraries/Registry_and_Ini_Files/Complete_Registry_Control/article.asp
VBA代码:
Dim c As New cRegistry
With c
.ClassKey = HKEY_CURRENT_USER
.SectionKey = "Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\YourTrustedLocationName"
.ValueKey = "Path"
.ValueType = REG_DWORD
.Value = "Full path to Trusted Folder"
End With
唯一的警告是YourTrustedLocationname必须是唯一的...
您必须尝试将其设置为.ValueType = REG_DWORD或REG_SZ。我不确定那个。
关于ms-access - 如何摆脱VBA安全警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3195580/