Circumvent Hyperlink Security Warning
我有一个 VBA 脚本,它循环遍历指向共享点的 ppt 链接列表,打开它们,将它们保存在临时位置,从特定文本框中提取信息并关闭它们。但是,当我尝试打开链接时,我收到了安全警告-
"Opening http://.....pptm
Some files can contain viruses or otherwise be harmful to your computer. It is imporant to be certain that this file is from a trustworthy source.
Would you like to open this file?"
我知道我可以通过进入注册表来禁用它;但是我的公司不允许我这样做。任何人都可以推荐一种方法
查看该问题的 MS 支持页面,似乎所有解决方案都不可避免地基于注册表。
已针对所有版本的 Office 进行测试和工作(使用注册表):
禁用超链接警告:
1 2 3 | CreateObject("Wscript.Shell").RegWrite _ "HKCU\\Software\\Microsoft\\Office" & Application.Version & _ "\\Common\\Security\\DisableHyperlinkWarning", 1,"REG_DWORD" |
(重新)启用超链接警告:
1 2 3 | CreateObject("Wscript.Shell").RegWrite _ "HKCU\\Software\\Microsoft\\Office" & Application.Version & _ "\\Common\\Security\\DisableHyperlinkWarning", 0,"REG_DWORD" |
我没有尝试过,但这里有几个选项:
.
.
1 2 3 4 5 | Declare Function ShellExecute Lib"shell32.dll" Alias"ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpszOp As String, _ ByVal lpszFile As String, ByVal lpszParams As String, _ ByVal LpszDir As String, ByVal FsShowCmd As Long) _ As Long |
来自微软的更多细节
.
注册表编辑:
HKEY_CURRENT_USER\\\\Software\\\\Microsoft\\\\Office\\\\11.0\\\\Common
HKEY_CURRENT_USER\\\\Software\\\\Policies\\\\Microsoft\\\\Office\\\\11.0\\\\Common
注意事项:
- 您只需修改其中一个注册表子项,而不是两个。
-
如果 HKEY_CURRENT_USER\\\\Software\\\\Policies\\\\Microsoft\\\\Office\\\\11.0\\\\Common 注册表子项不存在,您可能需要手动创建它。
- 单击注册表子项后,指向编辑菜单上的新建,然后单击项。
- 键入 Security,然后按 ENTER 以命名密钥。
- 在编辑菜单上,指向新建,然后单击 DWORD 值。
- 键入 DisableHyperlinkWarning,然后按 ENTER 以命名该条目。
- 在右窗格中,右键单击 DisableHyperlinkWarning,然后单击修改。
- 在"编辑 DWORD 值"对话框中,单击"十进制",然后在"数值数据"下键入 1。
注意
-
值 0 启用超链接警告消息,值 1 禁用警告消息。
- 单击
- 退出注册表编辑器。
来自 Microsoft1 和 Microsoft2 的更多详细信息
.
1 2 3 4 5 6 7 8 9 10 11 | Option Explicit Function killHyperlinkWarning() Dim oShell As Object Dim strReg As String strReg ="Software\\Microsoft\\Office\\11.0\\Common\\Security\\Dis ableHyperlinkWarning" Set oShell = CreateObject("Wscript.Shell") oShell.RegWrite"HKCU" & strReg, 1,"REG_DWORD" End Function |
在这里找到