使用VBA(Microsoft Word)打印分色
Word不具有打印分色的固有功能。
而是通常必须使用功能齐全的桌面发布程序(例如InDesign)来完成此任务。就是说,您可以通过简单地将不需要打印的文本颜色更改为白色,然后打印文档来执行基本的分色形式。反转过程将打印其他颜色。
例如,以下VBA宏将允许您为包含红色和黑色文本的文档打印彩色分隔的文本:
Sub PrintSeps() ActiveDocument.Save Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Change Red to White Selection.Find.Font.ColorIndex = wdRed Selection.Find.Replacement.Font.ColorIndex = wdWhite With Selection.Find .Text = "" .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 ActiveDocument.PrintOut 'Change White back to Red Selection.Find.Font.ColorIndex = wdWhite Selection.Find.Replacement.Font.ColorIndex = wdRed Selection.Find.Execute Replace:=wdReplaceAll 'Change Auto to White Selection.Find.Font.ColorIndex = wdAuto Selection.Find.Replacement.Font.ColorIndex = wdWhite Selection.Find.Execute Replace:=wdReplaceAll 'Change Black to White Selection.Find.Font.ColorIndex = wdBlack Selection.Find.Replacement.Font.ColorIndex = wdWhite Selection.Find.Execute Replace:=wdReplaceAll 'Change Red to Black 'This is done so that Red will print as Black 'On some printers, non-black colors always 'print as a shade of gray. You want them only 'as black Selection.Find.Font.ColorIndex = wdRed Selection.Find.Replacement.Font.ColorIndex = wdBlack Selection.Find.Execute Replace:=wdReplaceAll ActiveDocument.PrintOut ActiveWindow.Close SaveChanges:=wdDoNotSaveChanges End Sub
请注意有关PrintSeps宏的几件事。首先,它保存您的文档。这样做是因为当宏运行完毕后,它将抛出文档。通过保存,您可以稍后从磁盘加载文档。要注意的另一件事是,这仅适用于仅包含红色和黑色文本的文档。如果您有其他颜色,则这些颜色将同时打印两次。如果您有白色文字,它将以红色通行证打印。如果您有图形,则不对它们进行分隔。 (如果您有图形并希望将它们分开,则绝对应该使用桌面发布程序。)
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本提示(11243)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。您可以找到此提示的版本,以用于Word的旧菜单界面在这里: