|
>ワード文書内の漢字のすべてにルビを振れるようにしたいのですが、
>最初のとりかかりの部分でつまずいてます。
>文書内の漢字の位置を知るにはどうすればよいのでしょうか?
正規表現を利用した方法です。
'要参照 Microsoft VBScript Regular Expressions 5.5
Sub GetKanji(strTarget As String)
Dim objRegExp As VBScript_RegExp_55.RegExp
Dim colMatches As VBScript_RegExp_55.MatchCollection
Dim objMatch As VBScript_RegExp_55.Match
Set objRegExp = New VBScript_RegExp_55.RegExp
With objRegExp
.Global = True
.IgnoreCase = True
'"\uxxxx"はUnicode16進文字コードを表します。
.Pattern = "[\u4E00-\u9FA5\uF900-\uFA2D]+"
Set colMatches = .Execute(strTarget)
End With
For Each objMatch In colMatches
With objMatch
Debug.Print "文字列:" & .Value
Debug.Print "開始位置:" & .FirstIndex + 1
Debug.Print "長さ" & .Length
End With
Next objMatch
End Sub
詳細はこちらをご参照ください。
Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化
http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
|
|