这个宏有很多麻烦:
ActiveDocument.CopyStylesFromTemplate NormalTemplate.FullName
With Selection
.Style = ActiveDocument.Styles("Normal")
.Range.HighlightColorIndex = 0
.Font.Shading.Texture = wdTextureNone
.Font.Name = ActiveDocument.Styles("Normal").Font.Name
.Font.Size = ActiveDocument.Styles("Normal").Font.Size
End With
它与以下行完美配合: 此文字应格式为,不带粗体或斜体。
并将其转换为“ 此文本的格式应不带粗体或斜体。
但是,只有在最后一个字符之前选择并运行它时,它才有效。当我双击该行或手动选择整行并运行宏时,它似乎根本没有任何效果。
任何可能导致此问题的想法,或者我是否应该使用不同的方法删除选区中的粗体/斜体文本并将所有文本转换为普通样式/字体?
编辑:这可能与从键盘快捷键运行宏有关,因为它可以通过宏菜单手动运行时正常工作。
答案 0 :(得分:3)
如果您想清除所有格式,我建议:
With Selection
.ClearFormatting
End With
这会将段落样式重置为Normal并重置所有字体和属性(我试图设置)。请注意,它会重置包含选区的段落的段落样式(因此,如果您只选择了段落中的单个单词,它仍会重置段落的样式。)
参考:MSDN: Selection.ClearFormatting
当我添加ActiveDocument.CopyStylesFromTemplate NormalTemplate.FullName
时,我没有看到任何差异,但我希望这取决于您的文档的复杂性。
答案 1 :(得分:0)
事实证明问题是我以前使用的模板的开发人员编写的文档很差 - 我只是编辑了错误的宏,因此尽管我没有显示任何内容,但是从有缺陷的宏获得了部分正确的结果。