啟用 VBA 的「Microsoft VBScript Regular Expressions」引用項目,解決使用正規表示法 RegExp
時所產生的「使用者自訂型態尚未定義」編譯錯誤。
問題
在 Excel 的 VBA 巨集程式中使用 RegExp
正規表示法匹配或是取代文字,執行時卻出現「編譯錯誤:使用者自訂型態尚未定義」的錯誤訊息,該如何解決?
Dim re As RegExp Set re = New RegExp
解法
只要啟用 VBA 的「Microsoft VBScript Regular Expressions」引用項目,即可解決這個問題,以下是操作步驟。
Step 1
在 VBA 開發環境中,點選主選單的「工具」。
Step 2
點選「設定引用項目」。
Step 3
尋找「Microsoft VBScript Regular Expressions」,勾選起來之後,按下「確定」。
「Microsoft VBScript Regular Expressions」這個項目有 1.0 與 5.5 兩個版本,雖然兩者都可以使用,但是 1.0 版欠缺許多重要的功能,所以建議直接使用 5.5 版。
啟用了「Microsoft VBScript Regular Expressions」項目之後,在執行含有 RegExp
正規表示法的程式時,就不會再出現錯誤訊息了。
參考資料:StackOverflow