用于格式化所选文本的Microsoft Word宏,如用于所有实例的斜体例如

问题描述:

这是我的第一个问题, 我必须浏览大量文档并确保几个格式问题是正确的。这样一个问题的一个例子是确保所有句点“。”不是粗体,斜体,下划线等。另一个例子是确保所有“等”用斜体表示。用于格式化所选文本的Microsoft Word宏,如用于所有实例的斜体例如

我有一个需要的格式问题的列表。

而不是翻阅每个文档并使用查找/替换功能,我宁愿写一个宏,我可以应用于每个文档。

我没有使用VBA的经验。另一方面,我在C sharp和C编程方面有一些经验。

任何帮助将不胜感激。

顺便说一句,我不是要求一个完整的程序,而是一个样本,我可以从中学习和继续我自己的。

+0

宏录制将生产所需的所有代码时,你会同时手动执行他们记录所有这些变化中的所有编辑过程。 – 2013-02-14 10:51:03

+0

看看这两个答案:http://stackoverflow.com/questions/13465709/repeating-ms-word-macro-until-no-search-results-found/14309412#14309412和http://stackoverflow.com /问题/ 14773971 /字-2007-VBA制作-一些文本,粗体其他斜体/ 14781570#14781570 – CuberChase 2013-02-14 11:13:16

有几个选项:

1.Under在Word中开发选项卡,你可以点击“录制宏”按钮,并做了查找和替换多次,而使用Ctrl + H快捷键录制宏。

2.有多个较小的宏设置(如下面的两个)击中“录制宏”并按照你想要的顺序运行它们。

Sub ItalicizeEct() 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    Selection.Find.Replacement.Font.Italic = True 
    With Selection.Find 
    .Text = "ect." 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
    End With 
    Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 

Sub RemoveBoldPeriods() 
    Dim PunctAllRng As Word.Range 
    Set PunctAllRng = ActiveDocument.Range 
    With PunctAllRng.Find 
    .Format = True 
    .Text = "." 
    .Font.Bold = True 
    .Replacement.Text = "." 
    .Replacement.Font.Bold = False 
    .Execute Replace:=wdReplaceAll 
End With 
End Sub 

3.Or干脆写一个大的宏,会经过你需要