Excel vba open只读文件错误

时间:2015-08-31 19:27:29

标签: excel excel-vba excel-2013 vba

我有一个vba宏来打开Excel文件,包括只读文件。

我使用以下代码执行此操作:

Workbooks.Open((FileName:=MyFileName, UpdateLinks:=0, IgnoreReadOnlyRecommended:=True)

直到2013年6月,这从未失败过。截至目前,这已不再适用。现在,当宏遇到只读文件时,文件将出现在单独的窗口中,并且还会出现“另存为”提示(以前从未发生过)。

如果单击“取消”,则会收到“找不到路径”错误。如果单击“保存”,则文件将保存到其原始位置。这是全新的。在我的代码的这一部分中没有“另存为”命令。

它似乎与微软的文件>相关联。保护工作簿>标记为最终的东西。谁看到这个?我无法找到预防它的方法。我只是希望能够在没有进一步提示的情况下打开只读文件。

2 个答案:

答案 0 :(得分:0)

我没有使用过很多excel的VBA,但是有可能重置了excel中的宏安全设置,以便它不再信任尝试使用它的宏或VBA脚本。

答案 1 :(得分:0)

感谢您的投入。我确实找到了解决办法。在较新版本的Excel中,有一个新的ReadOnly名称:Final,即File>保护工作簿>标记为最终。这与ReadOnly相同,只是另一个名称,并且它不会显示为WorkBooks.Open(FileName:= ...)中的选项。如果我设置Workbook.Final属性= False,那么我可以打开没有SaveAs提示的文件。

如果wbName.Final = True那么  wbName.Final = False 结束如果