在Excel VBA中closures受保护的视图

我需要从文件(“DatabaseExport.xlsx”)中提取数据,这个文件是从Intranet站点生成并新打开的。 该文件在“受保护的视图”(屏幕顶部的黄色横幅)中打开。 我认为有必要禁用受保护的视图,以便我可以从文件中提取数据。 我的VBA包含在一个单独的文件“GetAndAnalyseData.xlsm”中:

NameOfNewFile = "ooo" Do On Error Resume Next Application.ActiveProtectedViewWindow.Edit 'This never works first time NameOfNewFile = Left(ActiveWorkbook.Name, 14) On Error GoTo 0 If NameOfNewFile = "ooo" Then ttt = MsgBox("this should not be possible!", vbOKCancel) If ttt = vbCancel Then Stop End If Loop While NameOfNewFile = "ooo" 

以下是我运行代码时发生的情况:

  1. 我收到一个消息框说“这不应该是可能的!”
  2. 如果我单击确定,我会一直收到相同的消息框,并且该文件保留在受保护的视图中。
  3. 如果我单击取消,然后F5(继续执行)循环工作,因为它应该(保护视图取消,TEMP的值设置为文件名,循环退出,macros继续。

如果我不使用“继续下一步”,我尝试为NameOfNewFile赋值的行会返回一个错误:

  • 运行时错误“91”:对象variables或块variables未设置

我已经尝试了几种方法来解决这个问题:

  1. 在下载文件之前运行这一行,并在尝试closures受保护的视图之前立即运行,但行为仍然相同。

     Application.AutomationSecurity = msoAutomationSecurityForceDisable 
  2. 使文件夹(下载的文件存储在哪里)进入可信位置,但这是我的用户设置不允许的。

  3. 取消选中信任中心的“启用受保护的源自Internet的源文件视图”checkbox,但未勾选此checkbox,我甚至无法打开该文件。

  4. 插入此代码(但“设置wbPV行”导致运行时错误“424”:Object Required):

     Dim wbPV As Workbook If Application.ProtectedViewWindows.Count > 0 Then Set wbPV = ActiveProtectedViewWindow.Edit End If 

这需要对多个文件进行处理,因此在VBA中解决这个问题非常有用。 有人可以帮助我find一种方法来closures此types的下载文件编程方式的受保护的视图? 还是有其他的方法来获取数据的文件?