2017-08-09 91 views
0

我有一種情況像運行Excel宏一樣。 我試圖擺脫這個對話框:https://drive.google.com/open?id=0BzzXkoIWuMAHOF9oV1o5dmFhcWcAskToUpdateLinks = False和UpdateLinks之間的差異:= 0

當我閒逛,我把它固定的對話不會定期彈出,這樣我就不用打了取消底部每單次。

此前,部分代碼是這樣的:

Application.AskToUpdateLinks = False 
Application.DisplayAlerts = False 
Workbooks.Open Filename:=FullFileName 

成功的代碼是這樣的:

Application.DisplayAlerts = False 
Workbooks.Open Filename:=FullFileName, UpdateLinks:=0 

那麼有什麼區別Application.DisplayAlerts =假,並把updatelinks := 0在工作簿對象的末尾?

新編(2017年8月10日):

我得到一個錯誤不知何故,我又跑了宏!!!

Application.Calculation = xlCalculationManual 
Application.AskToUpdateLinks = False 
Application.ScreenUpdating = False 
Workbooks.Open FileName:=FullFileName, UpdateLinks:=0 

和宏扔我一個錯誤

運行時錯誤 '9':下標越界

我不知道爲什麼。

當我刪除UpdateLinks:=0時,它經歷了,但它迫使我點擊取消,因爲彈出的對話框。

我知道我錯了。目標文件名稱的變量沒有理由錯位!

回答

3

如果Application.AskToUpdateLinks設置爲False,則Excel將自動更新鏈接(或嘗試更新但失敗並顯示錯誤消息)。

如果UpdateLinks參數爲0,那麼鏈接將不會更新,甚至不會嘗試,也不會問任何問題。 (順便說一句,如果你想要它更新鏈接,你必須將此參數設置爲3,而不是1)。此外,第一個示例更改了Application對象的屬性,而第二個示例是一個Method參數,因此如果在此之後打開另一個Workbook,則第一個代碼將對其產生影響,而第二個代碼則不會。

+0

所以'AskToUpdateLinks'是一個對話框,問我是否要更新或不。雖然我選擇了「FALSE」,這意味着我**關閉了對話框**,但無論如何,宏仍會更新鏈接。要解決這個問題,我需要關閉工作簿對象以防止自動下載。謝謝!!!現在非常清楚。 –