Vba 压制;下载文件";箱

Vba 压制;下载文件";箱,vba,excel,Vba,Excel,我有一个工作簿,它引用(使用vba,不使用公式)远程存储在服务器上的另一个工作簿 我希望在用户不知道的情况下,打开工作簿、使用我的引用和关闭工作簿都不会有问题,除了一个主要缺陷。当我使用Workbooks.Open(MyPath)时,它会显示一个“下载”框,显示此文件的位置。我不想让用户看到这一点 有没有办法抑制此框 我尝试了application.screenUpdate=False,application.displayalerts=False 从网中找不到很多东西,论坛上的类似问题没有答

我有一个工作簿,它引用(使用vba,不使用公式)远程存储在服务器上的另一个工作簿

我希望在用户不知道的情况下,打开工作簿、使用我的引用和关闭工作簿都不会有问题,除了一个主要缺陷。当我使用
Workbooks.Open(MyPath)
时,它会显示一个“下载”框,显示此文件的位置。我不想让用户看到这一点

有没有办法抑制此框

我尝试了
application.screenUpdate=False
application.displayalerts=False


从网中找不到很多东西,论坛上的类似问题没有答案,但几个小时的工作取决于这一点,就像提示不能被抑制一样。我需要把整个事情都删掉。

这里有一些你可以考虑和/或尝试的可能性。 第四个选项可能是最简单/最好的:

  • 您可以使用Windows API获取
    下载
    对话框的窗口句柄,可以使用或函数ad,然后根据需要隐藏或以其他方式操作窗口。网上有很多示例,包括关于在Office中使用Windows API函数的示例

  • 可以通过编程将驱动器号(即,
    X:
    )映射到URL,并使用驱动器号打开文件。更多信息

  • 通过创建一个“虚拟”页面,基本上只重定向到web上的文件,您可以通过本地文件进行热链接

    下面是一个使用随机下载的PDF在线食谱的示例。将以下内容复制到记事本中,并将其另存为
    test.html

    <html>
    <body>
    <iframe 
      src="https://thestonesoup.com/blog/images/free_stonesoup_ecookbook.pdf" 
      frameborder="0" width="800" height="2500" scrolling="no">
    </iframe>
    </body>
    </html>
    
  • 示例:

    这会将PDF下载到驱动器
    c:\

        downloadFile "https://thestonesoup.com/blog/images/free_stonesoup_ecookbook.pdf", "c:\temp.pdf"
    
    …使用打开文件,如:

        Shell ("excel.exe c:\yourFile.xlsx")
    
    有关在Excel中保护信息的重要注意事项: 你不能。

    在Office文档中没有保证数据或代码安全的方法。即使是Excel的VBA项目密码保护和加密也很容易被新手用户击败,只需使用谷歌和一点决心(可能不到2分钟)


    这里有一些你可以考虑和/或尝试的可能性。 第四个选项可能是最简单/最好的:

  • 您可以使用Windows API获取
    下载
    对话框的窗口句柄,可以使用或函数ad,然后根据需要隐藏或以其他方式操作窗口。网上有很多示例,包括关于在Office中使用Windows API函数的示例

  • 可以通过编程将驱动器号(即,
    X:
    )映射到URL,并使用驱动器号打开文件。更多信息

  • 通过创建一个“虚拟”页面,基本上只重定向到web上的文件,您可以通过本地文件进行热链接

    下面是一个使用随机下载的PDF在线食谱的示例。将以下内容复制到记事本中,并将其另存为
    test.html

    <html>
    <body>
    <iframe 
      src="https://thestonesoup.com/blog/images/free_stonesoup_ecookbook.pdf" 
      frameborder="0" width="800" height="2500" scrolling="no">
    </iframe>
    </body>
    </html>
    
  • 示例:

    这会将PDF下载到驱动器
    c:\

        downloadFile "https://thestonesoup.com/blog/images/free_stonesoup_ecookbook.pdf", "c:\temp.pdf"
    
    …使用打开文件,如:

        Shell ("excel.exe c:\yourFile.xlsx")
    
    有关在Excel中保护信息的重要注意事项: 你不能。

    在Office文档中没有保证数据或代码安全的方法。即使是Excel的VBA项目密码保护和加密也很容易被新手用户击败,只需使用谷歌和一点决心(可能不到2分钟)


    如果需要以只读方式打开远程工作簿,且该工作簿中的数据不易失,则可以使用FSO创建文件的本地副本,然后将其打开。如果需要以只读方式打开远程工作簿,且该工作簿中的数据不易失,则可以使用FSO创建文件的本地副本,谢谢你的详细回答,我的远程文件在我们网络的服务器上,所以方法4似乎失败了。路径类似于
    \\ServerName\Folder\File.xlsm
    ,而不是HTTP地址。因此,您不是下载文件本身,您只是“打开它”。感谢详细的回答,我的远程文件位于我们网络中的服务器上,因此方法4似乎失败。路径类似于
    \\ServerName\Folder\File.xlsm
    ,而不是HTTP地址。因此,您不是下载文件本身,只是“打开它”。