我有一个Word 2007文件,我想将Courier New字体的所有用法改为 Lucida Console字体。我需要一个脚本来查找以该字体格式化的所有单词并将其更改为新字体。
我该怎么做?
答案 0 :(得分:2)
在Word中,您可以自己录制宏。然后你打开VBA编辑器,可选择删除一些无用的东西(通常选择太多或在文件中移动),你就得到了你的脚本。
编辑:在此处移动评论的内容,以回答作者的评论。
录制宏时,在查找和替换对话框中,单击“全部替换”。然后停止录音。生成的宏看起来像:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "tarte au pomme"
.Replacement.Text = "t aux pruneaux"
.Wrap = wdFindContinue
.MatchCase = False
' removed some stuff
End With
Selection.Find.Execute Replace:=wdReplaceAll
由此,您可以创建VBScript宏。您需要在对象浏览器中获取wdReplaceAll和wdFindContinue的值。
答案 1 :(得分:1)
也许您可以使用OpenXML SDK 2.0?您应该能够更改样式(我相信包含字体信息的样式)。
答案 2 :(得分:1)
这将为你做到:
Sub ChangeFonts()
Dim doc As Document
Set doc = ActiveDocument
For i = 1 To doc.Range.Characters.Count
If doc.Range.Characters(i).Font.Name = "Courier New" Then
doc.Range.Characters(i).Font.Name = "Lucida Console"
End If
Next
End Sub