啟用 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 正規表示法的程式時,就不會再出現錯誤訊息了。

參考資料