|
はじめまして。
後述のマクロを作りました。
英語圏のユーザーに対して、Docファイルを閲覧させるため、
MS ゴシックなどの文字をハイライト表示させて確認するためです。
しかし、プロポーショナルフォント(MS Pゴシックなど)はうまくいくものの、
ノンプロポーショナルフォント(MS ゴシックなど)はうまくいきません。
自分なりに調査してみると、
マクロによって変更された書式をGUIの"検索と置換"で確認してみると、
以下のような結果となっていました。
書式: フォント:(日)MS ゴシック,(特殊)MS ゴシック
また、.Font.NameAscii = "Times New Roman" としてみると
以下の結果となります。
書式: フォント:(日)MS ゴシック,(英)Times New Roman,(特殊)MS ゴシック
"(特殊)MS ゴシック" が問題であると仮定し、
"検索と置換"→オプション[書式]-[フォント]を確認するも(特殊)に関する
項目がありません。しかし、[OK]で[フォント]を閉じると、
書式: フォント:(日)MS ゴシック
となり、"検索と置換" においては、正常に検索できるようになります。
また、"書式: フォント:(日)MS ゴシック" となった状態で、
"検索と置換"ウィンドウを開いたままマクロを実行すると、期待する動作となります。
マクロ実行時に"(特殊)MS ゴシック"という設定を無しにする方法を
ご教授願えませんでしょうか。
---
Sub TwoByteFontSearch()
' FontSearch ("MS 明朝")
' FontSearch ("MS P明朝")
FontSearch ("MS ゴシック")
' FontSearch ("MS Pゴシック")
End Sub
Sub FontSearch(strFontname As String)
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Font.Name = strFontname
.Font.NameAscii = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Do While Selection.Find.Execute = True
Selection.Range.HighlightColorIndex = wdBlue
Loop
Selection.Collapse wdCollapseEnd
End Sub
---
以上、よろしくお願い申し上げます。
|
|