如何将新字体应用于以特定字体编写的字符?
Posted
技术标签:
【中文标题】如何将新字体应用于以特定字体编写的字符?【英文标题】:How to apply new font to characters written in a particular font? 【发布时间】:2016-06-27 11:21:04 【问题描述】:我正在编辑一些使用非 Unicode 字体以科普特语言编写的文本文件。我正在将文件转换为 Unicode。
我使用三种字体编写的文件来表示发音方言。 我想创建一个宏来搜索非 Unicode 字符并将其替换为 Unicode 字符。
我想限制搜索和替换某些字体。我尝试录制宏,但字体选择没有录制。
最终结果将用 Unicode 字符和方言标记分别替换其中一种字体(在字符中内置了方言标记)中的字符。
有没有办法修改下面的代码,将搜索和替换功能限制为以特定字体书写的字符?
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
在哪里选择字体
最终结果
【问题讨论】:
【参考方案1】:解决办法:
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
【讨论】:
以上是关于如何将新字体应用于以特定字体编写的字符?的主要内容,如果未能解决你的问题,请参考以下文章