2016-06-27 1 views
0

비 유니 코드 글꼴을 사용하여 콥트어로 작성된 일부 텍스트 파일을 편집 중입니다. 파일을 유니 코드로 변환하려고합니다.Visual Basic 매크로 MS Word 2007에서 글꼴 선택을 기록하지 않습니다

내가 편집하는 파일은 발음 사투리를 나타 내기 위해 3 개의 글꼴을 사용하여 작성되었습니다. 비 유니 코드 문자를 유니 코드 문자로 검색하고 바꿀 매크로를 만들고 싶습니다.

그러나 검색을 제한하고 특정 글꼴로 바꿀 수 있기를 원합니다. 일반 매크로로 처리하려고 시도했지만 매크로가 수행하는 글꼴 선택을 기록하지 않았습니다.

최종 결과는 방언 표식 외에 문자 (문자에 내장 된 방언 표시가있는) 중 하나의 문자를 유니 코드 문자로 대체합니다.

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