2017/09/23追記 この記事のマクロには間違いがあります。 修正版を「こうすればできる!!シンボルフォントを検索(4)」に掲載しました。
Symbolフォントに関するマクロです。
以前もこちらの記事「こうすればできる!!シンボルフォントの検索(3) 」にて紹介したことがあったのですが、処理を少しだけ早くしたバージョンです。
<目次>
このマクロでできること
Symbolフォントのギリシャ文字(大文字・小文字)を検索して、黄色の蛍光ペンで着色します。
また、見つけたギリシャ文字の数を表示するようにしました。
マクロの解説
Symbolフォントを文字コードで検索し、見つけた場合に一括置換をしています。
探す文字コードは、水野麻子さんの「Word ギリシャ文字コード・ラテン文字対応表 」をご覧ください。
この表のSymbolフォントの10進数の値を用いています。
マクロ
Sub Symbol_Greece_Check() Dim i As Long '文字コード用 Dim myRange As Range 'Rangeオブジェクト Dim myHighLight As String '蛍光ペンの設定の保存用 Dim nCount As Integer '見つけたか文字種の数 Dim myMessage As String 'メッセージ '蛍光ペンの設定 myHighLight = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdYellow 'Rangeオブジェクトの設定 Set myRange = ActiveDocument.Range(0, 0) 'シンボルフォントのギリシャ文字を黄色の蛍光ペンで着色 For i = 61505 To 61562 If i >= 61531 And i <= 61536 Then GoTo Proc_Skip myRange.SetRange Start:=0, End:=0 'ギリシャ文字を検索して黄色に着色 With myRange.Find .Text = ChrW(i) .Replacement.Text = "" .Replacement.Highlight = True .Wrap = wdFindStop .Forward = True .Execute If .Found = True Then .Execute Replace:=wdReplaceAll nCount = nCount + 1 End If End With Proc_Skip: Next i If nCount > 0 Then myMessage = StrConv(nCount, vbWide) & "種類のSymbolフォントのギリシャ文字を着色しました。" Else myMessage = "Symbolフォントのギリシャ文字は見つかりませんでした。" End If MsgBox myMessage, vbInformation, "ギリシャ文字チェック" Options.DefaultHighlightColorIndex = myHighLight Set myRange = Nothing End Sub
関連記事
- 【Word VBA】Symbolフォントのギリシャ文字を入力するWordマクロ
- 【Word VBA】Symbolフォントのギリシャ文字を蛍光ペンで着色するWordマクロ
- 【Word VBA】Symbolフォントのギリシャ文字を蛍光ペンで着色するWordマクロ(解説)
- 【Word VBA】Symbolフォントの段落番号を通常の段落番号に変換するWordマクロ
- 【Word VBA】こうすればできる!!シンボルフォントを検索するWordマクロ
- 【Word VBA】こうすればできる!!シンボルフォントを検索するWordマクロ(2)
- 【Word VBA】こうすればできる!!シンボルフォントを検索するWordマクロ(3)
- 【Word VBA】こうすればできる!!シンボルフォントを検索するWordマクロ(4)
- 【Word VBA】ギリシャ文字をシンボルフォントに変更するWordマクロ
- 【Word VBA】ギリシャ文字をシンボルフォントに変更するWordマクロ(その2)
Word ギリシャ文字コード・ラテン文字対応表 (水野麻子さんの記事)