Excel VBA開啟檔案自動執行:儲存檔案與隱藏巨集 - 贊贊小屋
文章推薦指數: 80 %
本文介紹如何將巨集錄製到個人巨集活頁簿(personal.xlsb),進而利用VBA Call module設計開啟檔案後自動儲存的程式,最後再比較與Excel選項功能差別。
ExcelVBA開啟檔案自動執行:儲存檔案與隱藏巨集
2018-01-06
VBA自動化
1,328次瀏覽
目錄
一、個人巨集活頁簿二、開啟VBA編輯環境三、ThisWorkbook.Open四、開啟檔案自動執行五、VBACallModule六、ExcelVBA儲存檔案七、VBAPersonal.xlsbExcel與VBA自動儲存檔案
Excel當機Excel當機會造成資料流失。
本文介紹如何將巨集錄製到個人巨集活頁簿(personal.xlsb),進而利用VBACallmodule設計開啟檔案後自動儲存的程式,最後再比較與Excel選項功能差別。
之前有文章分享過編寫VBA自動儲存Excel檔案或另存備份,雖然程式的設計立意良好,也達到預期效果,但其實存在兩個缺陷:其一、會希望這個程式是真正「自動」執行的,只要電腦開啓任何一個Excel檔案,便會啓動此功能;其二、工作場合中,常常電腦是同時開啓很多檔案,會希望這些開啟中的一切檔案都可以自動儲存。
針對這兩點,需要進一步完善VBA,在此介紹如何完善成終極版的自動儲存功能:
一、個人巨集活頁簿
錄製巨集時,下面有個「將巨集儲存在」,選擇「個人巨集活頁簿」。
二、開啟VBA編輯環境
巨集錄好之後,「Alt+F11」開啟VBA編輯環境,在「專案-VBAProject」視窗中會多一個「PERSONAL.XLSB」,這是Excel隱藏的活頁簿,只要透過上個步驟錄製過「個人巨集活頁簿」,便開始啟動「PERSONAL.XLSB」,此後不管開啟任何一個Excel檔案,就會同時加載「個人巨集活頁簿」,也就是可以使用這個類似公共活頁簿裡的巨集程式。
三、ThisWorkbook.Open
在「MicrosoftExcel」物件中有個「ThisWorkbook」,連按兩次後,在右邊的編寫程式碼上方,左邊選擇「Workbook」,右邊選擇「Open」。
四、開啟檔案自動執行
編寫如圖所示的巨集程式碼:其中「PrivateSubWorkbook_Open()」代表只要開啟Excel便執行的VBA巨集,「CallAutosave」為呼叫執行在「Autosave」程序。
五、VBACallModule
在現有模組(Module1)或新模組(Module11)輸入VBA程式,如圖所示有兩個巨集程序,一個是「自動儲存所有開啟中活頁簿」,作用是每五分鐘執行一次「Autosave」,而這個「Autosave」,作用是所有開啟中的活頁簿儲存一次,儲存後再執行「自動儲存所有開啟中活頁簿」。
綜合這兩個巨集,結果為每隔五分鐘儲存所有開啟中的活頁簿。
六、ExcelVBA儲存檔案
除了儲存所有開啟中檔案,另一個重點是開啟任何檔案皆會自動儲存,這裡會用到前面所述隱藏的Excel檔案。
倘若有興趣,必須先把資料夾選項中,「隱藏的項目」打勾設定為開啟。
七、VBAPersonal.xlsb
通常在這個路徑可找到「PERSONAL.XLSB」:「C:\Users\b8810\AppData\Roaming\Microsoft\Excel\XLSTART」其中「Users」為系統C磁碟的使用者資料夾、「b8810」為使用者名稱。
一般不會直接用到這個檔案,都是像第一個步驟錄製好巨集,每次開啟任何Excel檔案,就會自動加載「PERSONAL.XLSB」所含巨集,在此只是讓各位讀者一探這個隱藏的檔案。
Excel與VBA自動儲存檔案
這裡分享如何將所有開啟中的Excel檔案設定為自動儲存,實際使用發現,每隔一段時間Excel會停頓下來,執行VBA程式自動儲存。
相較之下,Excel在軟體選項設置提供的自動儲存功能,執行相對流暢,幾乎感覺不到痕跡。
這個可能在所難免,因為畢竟是在軟體開發階段,微軟就把這個功能寫在軟體架構裡面了。
雖然內置的自動儲存功能效率較優越,但我遇過幾次慘痛經驗,這個功能失效,Excel當機停止運作,沒辦法找回我原來作業中的檔案,著實欲哭無淚!所以如果是預計要執行一項複雜、多個檔案同時操作、需要長時間進行的任務情況下,建議還是使用這個相對保險、自己設計的VBA巨集程式,因為靠自己最安全。
當然,雙管齊下的話,那更是高枕無憂了!
學習清單:贊贊小屋VBA自動化文章合輯。
延伸閱讀:
Excel報表儲存格格式設定:錄製巨集快速鍵執行
VBAIf條件式建立function,自定義Excel函數計算健保金額
ExcelVBA設定檔名及資料夾路徑,定期自動另存新檔
ExcelVBA表單設計Userform教學,內控資料輸入介面視窗
VBAInputBox教學:跳出對話方塊,輸入參照更新Excel名稱
VBA檔案清理:程式刪除Excel名稱及切斷外部連結
Excel取消保護工作表的密碼忘了?VBA程式解除鎖定
Excel顯示格線如何設定:錄製巨集利用VBA快速取消
Excel錄製巨集按鈕:添加到功能區工具列快速執行
Excel巨集按鈕:如何建立VBA表單控制項並設定格式
搜尋
最新文章
Excel與CSV檔案轉換:開頭為0的發票號碼複製貼上
2022-06-28
Word匯出PDF亂碼解決:安裝Google字體,更改嵌入設定
2022-06-26
VBAChr函數應用:ASCII代碼表建立Excel英文字母清單
2022-06-24
Appinventor教學:建立資料庫,音樂播放器下一首按鈕
2022-06-23
GoogleAdsense廣告網站管理:ads.txt收益警示,移除無效網站
2022-06-21
文章分類
Excel
程式
SEO
電影
人生
小說
職場
藝術
VBA
Office
投資
音樂
分享
法律
美食
旅遊
所有文章分類
贊贊老師
與我聯絡
YouTube
部落格
贊贊書屋
所有課程
選單
贊贊老師
與我聯絡
YouTube
部落格
贊贊書屋
所有課程
客服信箱:[email protected]
客服LineID:b88104069
關閉
插入/編輯連結
關閉
請輸入目標網址
網址
連結文字
在新分頁中開啟連結
或連結到現有的內容
搜尋
尚未指定搜尋詞彙。
以下顯示最近發佈的項目。
搜尋或使用向上/向下鍵以選取項目。
取消
延伸文章資訊
- 1如何在開啟Excel 後自動執行巨集? @ Linux - 隨意窩
1. 開啟Excel, 然後點開發人員-> 點巨集, 然後輸入巨集名稱 · 2. 鍵入巨集名稱 · 3. 進入巨集的畫面 · 4. 實際上Excel 一開啟時, 最先會執行workbook 上的...
- 2開啟活頁簿時自動執行巨集 - Microsoft Support
開啟活頁簿時自動執行巨集 · 在功能表上,按一下[Excel>喜好設定... >工具列&工具列。 · 在自訂功能區類別中,選取主要選項卡清單中的開發人員核取方塊。 · 按一下[儲存]。
- 3Excel VBA 的眉眉角角Day23:使用AutoHotKey自動跳過開啟巨 ...
很多時候,我們撰寫好程式,需要讓系統自動執行,而非人工點開執行,由於Office 巨集的安全性設定,一般都是設定「中」,以免開啟不明人士編輯的巨集,造成系統或資料 ...
- 4Microsoft Excel 巨集安全設定 - IBM
如果巨集安全設為「低」、「中」或「高」,而且您已將 TM1 增益集配置為在啟動Excel 時自動載入,則在開啟Excel 時,一律會載入 TM1 ,而不會要求您回應任何提示。
- 5Excel 2010 自動執行巨集 - 平凡的幸福(備站
要讓巨集自動執行,在新增巨集時,把名稱取為「Auto_Open」 接著在存檔時,檔案類型的選擇如下圖,這樣就完成了因為預設不會開啟巨集,所以開啟Excel ...