1. 程式人生 > 電腦技巧 >VBA 正規表示法 RegExp 編譯錯誤:使用者自訂型態尚未定義解決方法

VBA 正規表示法 RegExp 編譯錯誤:使用者自訂型態尚未定義解決方法

啟用 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