2015-08-31 421 views
1

我有一個vba宏來打開Excel文件,包括只讀文件。Excel vba打開只讀文件錯誤

我用下面的代碼來做到這一點:

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

截至2013年6月這永遠不會失敗。截至目前這不再有效。現在,當宏遇到一個只讀文件時,該文件將出現在一個單獨的窗口中,並且還會出現另存爲提示(以前從未發生過)。

如果我點擊取消,我得到一個路徑未找到錯誤。如果我點擊保存,文件將保存到其原始位置。這是全新的。在我的代碼的這一部分中沒有另存爲命令。

它似乎是與微軟的文件>保護工作簿>標記作爲最後的東西新的東西。任何人看到這個?我找不到預防它的方法。我只是希望能夠在沒有進一步提示的情況下打開只讀文件。

+2

[禁止 「文件正在使用」 對話](可能重複http://stackoverflow.com/questions/32251001/suppress-文件中使用的對話)。建議您將'ReadOnly:= True'和'Notify:= False'參數添加到[Workbooks.Open方法](https://msdn.microsoft.com/en-us/library/office/aa195811(v = office .11).aspx)命令。 – Jeeped

回答

-1

我還沒有用過excel的VBA,但可能是因爲excel中的宏安全設置被重置,所以它不再信任宏或試圖使用它的VBA腳本。

+0

我不是故意粗魯,但是,這不應該作爲答案張貼,而是作爲對原始問題的評論。 – aLearningLady

+0

我希望我可以,但不幸的是,自從我最近加入後,我沒有足夠的積分。我目前正試圖獲得這些觀點,以便我可以做出評論而不是答案。 –

0

感謝您的意見。我確實找到了解決辦法。在較新版本的Excel中,有一個新的ReadOnly指定:最後,即文件>保護工作簿>標記爲最終。這與ReadOnly相同,只是使用另一個名稱,並且不會在WorkBooks.Open(FileName:= ...)中顯示爲選項。如果我將Workbook.Final屬性設置爲False,那麼我可以打開沒有SaveAs提示的文件。

如果wbName.Final = TRUE,則 wbName.Final =假 結束如果