马克因打印文档有问题而寻求帮助。似乎他有一个宏,可用来按所需顺序打印文档。如果文档不超过10个,则可以正常打印。如果有11个或更多,则前10个为背景打印,其余文档为前景打印。

乍一看,这个问题似乎是一个排序问题。但是,这很快就消除了,因为意识到这是一个排序问题,因此文档10总是会在文档1之后打印。

这导致了最可能的情况:文档只是在填充为Word使用的后台打印队列分配和/或可用的空间。 (这完全是一种假设;我找不到关于队列上是否甚至没有空间限制的硬文档。)在两种情况下,解决此问题的方法都是在开始之前先关闭宏中的后台打印功能。打印运行。

那是什么意思?简单地说,当您等待每个文档打印时,打印将需要一段时间。当然,如果宏在打印第一个文档之前检测到整个作业中有10个以上的文档,则仅通过关闭后台打印功能就可以使其成为“智能”宏。

要在VBA宏中关闭后台打印,只需在宏的开头添加以下行:

Options.PrintBackground = False

当您以后想要再次打开后台打印时,请使用以下行:

Options.PrintBackground = True

如果关闭后台打印不令人满意(这意味着您不想等待打印机的时间超出绝对必要的时间),则还有其他两种选择。当然,首先是使用Word的主文档功能。此功能已在其他_WordTips_中“具有功能”,我可以安全地说,并不是有很多Word用户对此功能感到满意。

这为我们提供了最终的潜在解决方案:您可以使用INCLUDETEXT字段来构建包含所有“子文档”的文档,然后仅打印单个文档。这也可以在宏控制下完成。只需使用宏即可打开一个新文档,计算要打印的每个文档的名称,然后插入使用该名称的INCLUDETEXT字段。宏可以通过打印创建的文档然后将其丢弃而结束。此宏所需的INCLUDETEXT字段的最小语法如下:

{INCLUDETEXT "MyFile1.doc"}

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

链接:/ wordribbon-WordTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(842)适用于Microsoft Word 97、2000、2002和2003。