此活頁簿的 Visual Basic for Application (VBA) 巨集已損毀,且已被刪除。目前的檔案很可能包含損毀的巨集。若要復原巨集,請開啟此檔案的備份(如果有的話)

別人傳給我的巨集打不開

最近遇到一個小問題,別人想要傳一份巨集程式碼請我看一下。他在他的電腦都可以正常開啟、正常執行。但是傳過來之後我勉強可以打開檔案看到活頁簿內容,但怎麼樣就是打不開裡面的VBA。會出現如下圖的錯誤訊息:

此活頁簿的 Visual Basic for Application (VBA) 巨集已損毀,且已被刪除。目前的檔案很可能包含損毀的巨集。若要復原巨集,請開啟此檔案的備份(如果有的話)

如果嘗試修復它,會發現修復失敗。

Excel無法藉由修復或移除無法讀取的內容來開啟檔案

造成這個錯誤的可能性有很多種,網路上可以找到一些解方,但我試了幾個都不符合我的情況,列幾個出來給大家參考一下:

解方1. 在控制台-移除安裝程式中,右鍵Office,點擊變更-聯機修復

解方2. 將Office更新到最新的版本

解方3. 系統下可能存在三方安全程式和優化程式(待防護墻的)建議您暫時關閉或移除安裝,乾淨啟動您的系統,重啟完成後打開Office,看看效果:

       1. Win+R后,輸入msconfig,回車,

       2. 點擊服務,勾選隱藏Microsoft服務,點擊全部禁用,

       3. 重啟

解方4. 重新安裝office,選「全部從我的電腦執行」

造成錯誤的關鍵,中文字。

最後發現好像是中文不相容惹的禍。只要請對方在傳檔案給我前,先把VBA裡的的「模組」(有時候可能是簡中版的「模塊」)改成英文,即可。

從下面的屬性欄去編輯名稱,改成英文字即可。

參考資料