・こうすればできる!!シンボルフォントの検索 ・こうすればできる!!シンボルフォントの検索(2) ・こうすればできる!!シンボルフォントの検索(3) ←現在地 ・こうすればできる!!シンボルフォントを検索(4)
2017/09/23追記 この記事のマクロには間違いがあります。 修正版を「こうすればできる!!シンボルフォントを検索(4)」に掲載しました。
先日からしつこく書き続けているシリーズ。
これで最終回ですが。
今までに紹介してきたものは、Selectionオブジェクトで作成したものです。
今回紹介するのは、Rangeオブジェクトです。
SelectoinオブジェクトとRangeオブジェクトの違いは、こちらで紹介したとおりです。
SelectoinオブジェクトからRangeオブジェクトへの書き換えは、こちらで紹介したとおりです。
今回は、
Set myRange = Selection.Range
ではなくて、
Set myRange = ActiveDocument.Content
としてみました。
なので、検索・置換ダイアログの初期化が不要です。
また、カーソルの移動がないため、画面のちらつきがありません。よって、こちらで紹介した画面のちらつき防止をする必要がありません。
結果、プログラムは非常にシンプルになります。
他の方が書くと、もっと短くなるかも。
<目次>
プログラム
Sub Symbolフォント探し3() Dim i As Long '文字コード用 Dim myRange As Range 'Rangeオブジェクト 'Rangeオブジェクトの設定 Set myRange = ActiveDocument.Content 'シンボルフォントのギリシャ文字をピンクの蛍光ペンで着色 For i = 61505 To 61562 If i >= 61531 And i <= 61536 Then GoTo Proc_Skip 'カーソルを文書の先頭へ移動 myRange.SetRange Start:=0, End:=0 'ギリシャ文字を検索してピンクに着色 With myRange.Find .Execute FindText:=ChrW(i), Wrap:=wdFindStop Do While .Found = True myRange.HighlightColorIndex = wdPink .Execute Loop End With Proc_Skip: Next i Set myRange = Nothing End Sub
関連記事
・変数の宣言を強制する「Option Explicit」の設定
・こうすればできる!!シンボルフォントの検索(3) ←現在地