MW211 EXIT

devlog
ExcelVBA/正規表現
2017年06月15日
ExcelVBAで正規表現を行うには「VBScript.RegExp」オブジェクトを利用する。
┌──────────────────────────────────────┐
│'===========================================================================│
│'  正規表現のテスト(括弧内の数値を取得)                                     │
│'===========================================================================│
│Public Sub 正規表現のテスト()                                               │
│    Dim REG As Object                                                       │
│    Set REG = CreateObject("VBScript.RegExp")                               │
│    REG.Pattern = "^.*\((\d+)\).*$"                                         │
│    Dim theCell As Range                                                    │
│    For Each theCell In Selection                                           │
│        If REG.Test(theCell.Value) Then                                     │
│            theCell.Value = REG.Replace(theCell.Value, "$1")                │
│        End If                                                              │
│    Next theCell                                                            │
│End Sub                                                                     │
│'===========================================================================│
└──────────────────────────────────────┘
「.TEST()」メソッドは、一致するの判定に、
「.Replace()」メソッドは、置換に、それぞれ利用する。
正規表現のパターンは「.Pattern」に代入して使用する。
分類:ExcelVBA