Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


734 / 886 ←次へ | 前へ→

【157】Re:漢字の検索
回答  ちゃっぴ  - 04/10/31(日) 17:18 -

引用なし
パスワード
   >ワード文書内の漢字のすべてにルビを振れるようにしたいのですが、
>最初のとりかかりの部分でつまずいてます。
>文書内の漢字の位置を知るにはどうすればよいのでしょうか?

正規表現を利用した方法です。

'要参照 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
1,592 hits

【150】漢字の検索 ffos 04/10/16(土) 2:42 質問
【155】Re:漢字の検索 Jaka 04/10/22(金) 16:53 回答
【157】Re:漢字の検索 ちゃっぴ 04/10/31(日) 17:18 回答

734 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207146
(SS)C-BOARD v3.8 is Free