請問如何把EXCEL VBA指令套用在其他檔案上

共享資料夾中有上千個EXCEL檔案,需要每一個檔案都檢查更新連結的詢問提示是否已關閉

請問如何把EXCEL VBA指令套用在其他檔案上




網路查到可以用VBA指令直接把提示設定為關閉(一個一個檢查太麻煩,直接全部設定成關閉)

指令是

Sub 姓名連結()
ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways
End Sub


問題是,每個檔案都要打開加入巨集才能執行,這樣並沒有比較省事

請問有沒有辦法寫一個VBA,去搜尋某個檔案夾之下的全部*.xlsx(包含子資料夾)

然後全部檔案都執行一次 ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways,把更新連結的提示關掉

肚子三層非一日之饞 wrote:
請問有沒有辦法寫一個VBA,去搜尋某個檔案夾之下的全部*.xlsx(包含子資料夾)


搜尋檔案的範例一大堆,請google "vba 列出檔案清單"

肚子三層非一日之饞 wrote:
然後全部檔案都執行一次 ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways,把更新連結的提示關掉...(恕刪)


給您只修改一個檔案的程式碼(需放在獨立的新檔案裡面)
多檔案,請自行把程式碼加入檔案清單範例的迴圈之中
並在迴圈之中使用Application.Wait,加入暫停幾秒的功能
避免電腦檔案一次開太多,來不及處理、存檔,造成停止回應、當機

範例功能:關掉提示+存檔

sub test()

file_name = "c:\活頁簿1.xlsx" '路徑+檔名
Set wb = Workbooks.Open(Filename:=file_name, UpdateLinks:=False)
wb.UpdateLinks = xlUpdateLinksAlways
wb.Save
wb.Close

end sub

另外,如果電腦不多
我認為直接在毎台電腦,從Excel選項中設定不提示,可能比較省事
snare wrote:
另外,如果電腦不多
我認為直接在毎台電腦,從Excel選項中設定不提示,可能比較省事


感謝回覆,明天到公司試試看

我們用的是EXCEL2010,在信任中心裡面有一個[外部內容]可以設定是否執行連結
在這裡已經設定啟用自動更新(預設是提示使用者)
實際開啟檔案時,只是關閉了工具列上面的黃色安全性提示條,更新連結的文字提示框還是會出來

爬文才知道要從貼圖的那個位置才能關閉提示以及對應的VBA指令,但是這個設定位置是針對單一檔案的,不是針對整個EXCEL
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!