『【談】VBA本体でRegExpクラスが作成された模様(ただし、version依存)』(xyz)
VBScriptの廃止に伴い、VBScript.RegExpも将来的に使えなくなる件ですが、 それへの対応策の一環で、最近、VBA本体でRegExpクラスが作成されたようです。 VBScript.RegExpに依存することなく、VBAだけで正規表現が使えるように なったということです。
他の掲示板で教えて貰ったのですが、 https://excel-ubara.com/excelvba4/EXCEL232.html でもその件が書かれています。 サンプルコードもあります。
サンプルコードをOffice365 version2509 でチェックしましたが一応動くようです。 Microsoftがそういう方向で対応する気になったのは朗報ですね。 (ただし、365より前のものは少なくとも現時点では対応していないのではないかと思います。 ですから、既存資産をversionそのままで移行することは難しく、 365への移行が必要になるということかも知れません。)
< 使用 Excel:Microsoft365、使用 OS:unknown >
Dim v Dim rx v = "a9-b6-c98_XX-5" Set rx = New RegExp With rx .Pattern = "-" .Global = True MsgBox .Replace(v, "") End With
End Sub
WIN10
Excel 2016 personal premium
でした。
ありがとうございました
m(__)m
(隠居Z) 2025/10/15(水) 22:16:18
やってみました 参照設定なしで Dim r As VBA.RegExp ができました
ワークシート関数で正規表現が使えるようになったので、 Excelに正規表現エンジンが載ってるということで 期待はしていましたが実際にそうなるとちょっと嬉しいですね (´・ω・`) 2025/10/15(水) 22:25:30
Microsoft社のアナウンスは下記だったようです。 https://devblogs.microsoft.com/microsoft365dev/how-to-prepare-vba-projects-for-vbscript-deprecation/ (xyz) 2025/10/17(金) 18:22:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.