返回列表 上一主題 發帖

[發問] Application.AskToUpdateLinks = False

[發問] Application.AskToUpdateLinks = False

Private Sub Workbook_Open()
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
End Sub
Book1.rar (34.76 KB)
Application.AskToUpdateLinks = False
這應該是檔案的更新連結在用的吧??
web 查詢的更新也是這個嗎?我試過無效 (一開檔就自動更新,不要詢問)

本帖最後由 t8899 於 2014-6-25 10:06 編輯
回復  t8899

取消這選項
GBKEE 發表於 2014-6-25 09:41

謝謝,請問 Sheet5.QueryTables(1).Refresh 0 這如何翻譯?

TOP

本帖最後由 t8899 於 2014-6-25 10:49 編輯
回復  t8899

取消這選項
GBKEE 發表於 2014-6-25 09:41

報歉,問題又來了!
我這檔案,是不想出現詢問視窗,直接更新
但我在開另一檔案我郤想要讓它詢問,
我想這關鍵應該在於Application.AskToUpdateLinks = False 這開關
這開關等於 選項=>編輯==>自動更新連結
我把Application.AskToUpdateLinks = true 放在 另一檔案,又造成原來問題
如何讓兩者都能兼顧到! ??

TOP

本帖最後由 t8899 於 2014-6-26 06:52 編輯
回復  t8899 QueryTables 如設定.RefreshOnFileOpen = True你想要的是這樣嗎
GBKEE 發表於 2014-6-26 05:28


Application.AskToUpdateLinks = False(TRUE)
我試過,這開關原預設不是讀進來馬上生效,要存檔跳出再進來才生效
到 選項=>編輯==>自動更新連結 就知道狀況
如果馬上生效只要把Application.AskToUpdateLinks = False(TRUE) 放在.OPEN就沒問題了

更新包括內部外部
A.XLS  ==> 開檔,要詢問(要不要更新)
B.XLS  ==> 開檔,不要詢問(直接更新)

我把下面此段放在 B.XLS
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
Sheet5.QueryTables(1).Refresh 0   '加上這行
END SUB
開後存檔讀A.XLS
A.XLS  也是沒詢問,直接更新
如果在A.XLS 放入 Application.AskToUpdateLinks = TURE
不會馬上生效,存檔跳出再進來才會生效
接下來,回頭再打開B, (又出現要不要更新的詢息了(因為已被A更改為 TRUE))
B 要再存檔,再開檔才不會出現提示的訊息

TOP

本帖最後由 t8899 於 2014-6-28 07:08 編輯
回復  t8899
A.XLS ThisWorkbook模組加上 試試看
GBKEE 發表於 2014-6-28 05:27


此例 Workbook_BeforeClose  跟 auto_close 應該沒什差別
這之前我已用auto_close 試過,A關檔前設為Application.AskToUpdateLinks = False
則跳出後再開B檔 有效,但對A檔無效 (A檔是要詢問)
excel 會先讀 選項=>編輯==>自動更新連結這開關
再讀所選的檔案
Application.AskToUpdateLinks =>將此開關設為enable 或disable

TOP

回復  t8899
請說一下你的流程
GBKEE 發表於 2014-6-28 09:11

我再詳細測試如下
A 跟  B 沒問題  (皆一般WEB連結)
但
A1 跟 B   (A1有問題A1為DDE連結, 要詢問(沒出現詢問視窗)
如附檔 teMP.rar (46.77 KB)

TOP

回復  t8899

A1.XLS
GBKEE 發表於 2014-6-28 11:14


先開B 再開A1 沒詢問 ?
A1下面兩段拿掉也一樣沒詢問?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.AskToUpdateLinks = False
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
     Application.AskToUpdateLinks = False
End Sub

TOP

回復  t8899

A1.XLS
GBKEE 發表於 2014-6-28 11:14


我在B.xls  auto_close 放這兩行就OK了,供參考
Sub Auto_Close()
Application.DisplayAlerts = True
Application.AskToUpdateLinks = True
    End Sub

TOP

        靜思自在 : 不要隨心所欲,要隨心教育自己。
返回列表 上一主題