メモ:Excel for Mac のマクロは正規表現を使えない

こんばんは、豆珈琲です。

最近、ゼルダ無双を買いましたがまだあまり、進められていません。

今日は、私が絶望した壁について書こうと思います。

マクロで正規表現のやり方

やり方としては簡単ですが、以下のコードで簡単に使えます。

そう、MacではなくWindowsならば、ですが。

Sub Test()
    'RegExpオブジェクトの作成だが、Macで使うとエラーになる
    Dim reg As Object
    Set reg = CreateObject("VBScript.RegExp")
    
    '正規表現の指定
    With reg
        .Pattern = "<.*?>"      'パターンを指定 (例:htmlタグ)
        .IgnoreCase = False     '大文字と小文字を区別するか
        .Global = True          '文字列全体を検索するか
    End With
    
    Dim targetStr As String, convertedStr As String
    targetStr = "<span>hghg</span><br>"
    convertedStr  = reg.Replace(targetStr, ",") '
    
    Debug.Print (convertedStr)
End Sub

 

 Mac正規表現が使えない?

CreateObjectで外部のモジュールが使えないので、Windowsを同様の方法では正規表現は使えません。

気づくタイミングは実装している時だと思うので、MacWindowsの両方で使えるものを設計している場合は、戻ったほうが良いかと思います。

広告を非表示にする