规避超链接安全警告

时间:2015-08-10 19:06:26

标签: vba excel-vba excel

我有一个VBA脚本,它循环遍历到sharepoint的ppt链接列表,打开它们,将它们保存在临时位置,从特定文本框中提取信息并关闭它们。但是,当我尝试打开链接时,我收到安全警告 -

  

"打开http://.....pptm

     

某些文件可能包含病毒或对您的计算机有害。确定此文件来自可信赖的来源是很重要的。

     

您要打开此文件吗?"

我知道我可以通过进入注册表来禁用它;但是我的公司不允许我这样做。任何人都可以推荐一种方法

  1. 自动关闭这些警告/完全禁用它们
  2. 以另一种方式从.ppts中提取信息。

1 个答案:

答案 0 :(得分:1)

我还没有尝试过,但这里有几个选择:

  1. ShellExecute(API):
  2. 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
    

    来自Microsoft

    的更多详情

    1. 注册表编辑:

      1. 单击“开始”,然后单击“运行”。
      2. 在“打开”对话框中,键入regedit,然后单击“确定”。
      3. 在注册表编辑器中,找到并单击以下注册表子项之一: HKEY_CURRENT_USER \软件\微软\办公室\ 11.0 \共同 HKEY_CURRENT_USER \ SOFTWARE \政策\微软\办公室\ 11.0 \共同
    2. 注意:

      • 您只需修改其中一个注册表子项,而不是两者都修改。
      • 如果HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Office \ 11.0 \ Common注册表子项不存在,则可能必须手动创建它。

        1. 单击注册表子项后,指向“编辑”菜单上的“新建”,然后单击“密钥”。
        2. 键入Security,然后按Enter键命名该键。
        3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD值”。
        4. 键入DisableHyperlinkWarning,然后按Enter键命名该条目。
        5. 在右窗格中,右键单击“DisableHyperlinkWarning”,然后单击“修改”。
        6. 在“编辑DWORD值”对话框中,单击“十进制”,然后在“数值数据”下键入1。

      请注意

      • 值为0将启用超链接警告消息,值为1将禁用警告消息。

        1. 单击“确定”。
        2. 退出注册表编辑器。

      来自Microsoft1Microsoft2

      的更多详情

      1. 修改注册表的VBA代码:
      2. 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
        

        找到here