SOLIDWORKS
SOLIDWORKS 巨集跳出錯誤視窗?先看是哪一種狀況
SOLIDWORKS 巨集平常按一下就能用,某天突然跳出錯誤視窗,或按了完全沒反應? 原因不只一種,這篇先整理幾種常見狀況,幫助分清楚自己遇到的是哪一種, 再決定要自己排查還是找人處理。
本文目錄(7 節)
先記下三件事,再開始排查
不管跳出哪種錯誤,先記下這三件事,之後不管自己查或找人幫忙都用得到:
- 錯誤視窗的完整文字與代碼(例如「執行階段錯誤」後面的數字)
- 執行當下開啟的是哪一個檔案、檔案類型是零件、組合件還是工程圖
- 是每次都會出錯,還是只有特定檔案、特定電腦才會出錯
巨集按鈕按不動,或說找不到 VBA
SOLIDWORKS 巨集是以 VBA(Visual Basic for Applications)執行的,這個元件在安裝時是可選項目, 簡易安裝或部分安裝方式可能沒有勾選。如果巨集相關的按鈕整個反白、或提示找不到 VBA, 多半是這個元件沒裝,需要回到 SOLIDWORKS 安裝管理員把它加進去,實際位置依版本確認。
一執行就跳「執行階段錯誤」
這類錯誤是巨集已經開始執行,但半途中斷。最常見的情形是巨集執行時, SOLIDWORKS 裡沒有開啟任何文件,或開啟的文件類型跟巨集預期的不一樣 (例如巨集是設計給零件用的,卻在工程圖上執行)。錄製出來的巨集通常不會自己判斷這些狀況, 遇到不符合預期的環境就直接中斷並跳出錯誤視窗。
原本正常,換電腦或換檔案就出錯
巨集在原本的電腦、原本的檔案上執行都正常,換了一台電腦或換了另一個檔案就出錯, 通常跟巨集內容有關,而不是安裝問題。這種狀況的原因與改法,另一篇筆記有更完整的說明。
升級版本或換語系版本後出錯
SOLIDWORKS 版本升級後,部分功能或介面名稱可能調整;中文版與英文版的預設名稱也不同 (例如基準面的顯示名稱)。巨集裡如果依賴這類名稱,版本或語系一換就可能對不上, 出錯訊息通常會指出找不到的項目。實際差異依版本確認。
完全沒反應,可能是被安全性設定擋下
如果按了執行卻沒有跳出任何視窗、也沒有任何動作,先確認巨集的安全性設定與信任位置。 SOLIDWORKS 跟辦公室常見的 Office 巨集一樣有安全性等級,設定過嚴時可能直接擋下執行, 不一定會跳出明顯的錯誤訊息提示原因。
需要更進一步時
如果巨集常常出錯、換了環境就要重新修改,或想把巨集做成可以安裝、統一更新的工具,見SOLIDWORKS 二次開發|巨集・外掛程式・設計自動化與SOLIDWORKS 自訂屬性批次寫入與檢查。
常見問題
Q:同一個巨集,別人的電腦可以執行,我的不行,是什麼原因?
常見是 VBA 元件是否安裝、SOLIDWORKS 版本是否一致、或巨集安全性設定不同。把兩台電腦的版本號與錯誤訊息對照,通常就能找到差異,實際情形仍要依版本確認。
Q:錯誤視窗的文字看不懂,該怎麼提供給人排查?
記下完整的錯誤訊息與代碼(不用截圖也可以直接抄下來)、執行當下開的是哪個檔案、檔案類型是零件、組合件還是工程圖。這些資訊比一句「巨集跳錯誤」更快找到原因。