none
フランス語を正規表現でマッチングさせるには? RRS feed

  • 質問

  • Windows7, EXCEL2010の環境です.

    コントロールパネルからキーボードの変更でフランス語を追加したのですが,アクセント記号つきのeなどがマッチングしません.よろしくお願い致します.

    以下はキーボードからEXCELのワークシートに入力した文字列です.

    / 1 2 3 4 5 6 7 8 9 0 - =
    q w e r t y u i o p ç à
    a s d f g h j k l ; è
    z x c v b n m , . é
    \ ! @ # $ % ? & * ( ) _ +
    Q W E R T Y U I O P Ç À
    A S D F G H J K L : è
    Z X C V B N M " É

    Option Explicit
    
    Sub test1()
    Dim mySht   As Worksheet
    Dim myRng   As Range
    Dim myAr    As Variant
    Dim i       As Long
    Dim j       As Long
    Dim myRegExp    As Object
    Dim myMatches   As Object
    Dim myMatch     As Object
    Const str   As String = "[a-zA-Z_]"
    Set myRegExp = CreateObject("VBScript.RegExp")
    With myRegExp
        .Pattern = str
        .IgnoreCase = True
        .Global = True
    End With
    Set mySht = Worksheets("Sheet1")
    Set myRng = mySht.Range("A1").CurrentRegion
    myAr = myRng
    For i = LBound(myAr) To UBound(myAr)
        For j = LBound(myAr, 2) To UBound(myAr, 2)
            Debug.Print myAr(i, j), myRegExp.Test(myAr(i, j))
        Next j
    Next i
    End Sub
    

    2012年4月7日 5:07

回答

  • 単純にイタリア語で使う文字の範囲も追加すればいいと思います。

    欧州ならこんな感じだったかと
    [À-ÿ]
    VBA -> "[" & ChrW(&HC0) & "-" & ChrW(&HFF) & "]"
    • 回答としてマーク じふ 2012年4月7日 7:53
    2012年4月7日 6:38

すべての返信