对于不同的文件版本,VBA Windows激活失败

问题描述 投票:0回答:1

我有一个ASPX页面生成的Excel文件,该页面在PROTECTED VIEW中打开。我希望编写一些Excel 2013 VBA来格式化Excel 97文件并保存。

Windows("DS – Incidents and Linked Problems.xls").Activate
Application.ActiveProtectedViewWindow.Edit

给出错误9下标超出范围。 理想情况下,我希望在文件打开时访问此文件,因为文件和浏览器版本已设置,并且很难更改。

编辑:为了帮助我看看我跑了怎么回事:

Debug.Print Workbooks.Count  
For Each w In Workbooks  
    Debug.Print w.Name  
Next  

1 Book1.xlsm

然后我在第二个文件上使用Application.ActiveProtectedViewWindow.Edit并运行返回的相同代码:

2 Book1.xlsm DS - 事件和链接的问题.xls

excel-vba vba excel
1个回答
0
投票

我刚刚找到ProtectedViewWindow Object (Excel)并使用发现的信息能够提出:

If Application.ProtectedViewWindows.Count > 0 Then
    For pvwi = 1 To Application.ProtectedViewWindows.Count
        If Application.ProtectedViewWindows(pvwi).SourceName = "DS – Incidents and Linked Problems.xls" Then
               Application.ProtectedViewWindows(pvwi).Activate
        End If
        DoEvents
    Next
End If
Application.ActiveProtectedViewWindow.Edit
© www.soinside.com 2019 - 2024. All rights reserved.