2016-06-27 5 views
0

非ユニコードフォントを使用してコプト語で書かれたテキストファイルを編集しています。私はファイルをUnicodeに変換しています。Visual BasicマクロMS Word 2007でフォントの選択肢が記録されない

私が編集しているファイルは、発音の方言を表すために3つのフォントを使って書かれています。 非Unicode文字を検索してUnicode文字に置き換えるマクロを作成したいとします。

ただし、検索を制限して特定のフォントに置き換えたいと思っています。 通常のマクロでやろうとしましたが、実行したフォントの選択肢がマクロに記録されませんでした。

最終的な結果は、方言マークに加えて、文字の中に組み込まれている方言記号の1つの文字を、Unicode文字に置き換えることになります。

MS Wordで検索を制限し、特定のフォントで書かれた文字に機能を置き換えたい場合、以下のコードを変更する方法はありますか?

` 
Sub aaaa() 
' 
' aaaa Macro 
' 
' 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Text = "n" 
     .Replacement.Text = ChrW(11419) & ChrW(769) 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = True 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchKashida = False 
     .MatchDiacritics = False 
     .MatchAlefHamza = False 
     .MatchControl = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
    Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 
` 

Image showing where to choose the font

Image showing the end result

答えて

0

ソリューション:

Sub twoo() 
' 
' twoo Macro 
' 
' 
With Selection.Find 
.Text = "n" 

' Clear all previously set formatting for Find dialog box. 
.ClearFormatting 
' Set font to Find for replacement. 
.Font.Name = "EXISTING FONT NAME" 


' Clear all previously set formatting for Replace dialog box. 
.Replacement.ClearFormatting 
' Set font to Replace found font. 
.Replacement.Font.Name = "NEW FONT NAME" 

.Replacement.Text = ChrW(11419) & ChrW(769) 
.Forward = True 
.Wrap = wdFindContinue 
.Format = True 
.MatchCase = False 
.MatchWholeWord = False 
.MatchKashida = False 
.MatchDiacritics = False 
.MatchAlefHamza = False 
.MatchControl = False 
.MatchWildcards = False 
.MatchSoundsLike = False 
.MatchAllWordForms = False 
End With 
Selection.Find.Execute Replace:=wdReplaceAll 

End Sub 
関連する問題