マークは、ドキュメントの印刷で問題が発生した場合に助けを求めました。彼は、ドキュメントを希望の順序で印刷するために使用するマクロを持っているようです。ドキュメントが10個以下の場合、正常に印刷されます。 11個以上ある場合、最初の10個は背景印刷され、残りのドキュメントは前景印刷されます。

一見すると、この問題はソートの問題のように思われるかもしれません。しかし、それがソートの問題である場合、ドキュメント10は常にドキュメント1の後に印刷されることを理解することで、それはすぐに解消されます。

これが最も可能性の高いシナリオにつながります。ドキュメントは、Wordで使用されるバックグラウンド印刷キューに割り当てられたスペースや使用可能なスペースを単に埋めているだけです。 (これは完全に想定です。キューにスペース制限があるかどうかについてのハードドキュメントは見つかりませんでした。)いずれの場合も、問題の解決策は、開始する前にマクロのバックグラウンド印刷機能をオフにすることです。印刷の実行。

どういう意味ですか?各ドキュメントが印刷されるのを待つため、印刷に時間がかかるだけです。もちろん、最初のドキュメントを印刷する前に、ジョブ全体に10を超えるドキュメントがあることが検出された場合にのみ、バックグラウンド印刷機能をオフにすることで、マクロを「スマート」にすることができます。

VBAマクロでバックグラウンド印刷をオフにするには、マクロの先頭に次の行を含めるだけです。

Options.PrintBackground = False

後でバックグラウンド印刷を再度オンにする場合は、次の行を使用します。

Options.PrintBackground = True

バックグラウンド印刷をオフにするだけでは不十分な場合(つまり、絶対に必要な時間より長くプリンターを待ちたくない場合)、他にいくつかのオプションがあります。 1つ目は、もちろん、Wordのマスタードキュメント機能を使用することです。この機能は他の_WordTips_で「機能」されており、多くのWordユーザーがこの機能に満足しているわけではないと言っても過言ではありません。

これにより、最終的な解決策が導き出されます。INCLUDETEXTフィールドを使用して、すべての「サブドキュメント」を含むドキュメントを作成し、1つのドキュメントを印刷することができます。これは、マクロ制御下でも行うことができます。マクロを使用して新しいドキュメントを開き、印刷する各ドキュメントの名前を計算してから、その名前を使用するINCLUDETEXTフィールドを挿入するだけです。マクロは、作成したドキュメントを印刷してから破棄することで終了できます。このマクロに必要なINCLUDETEXTフィールドの最小構文は、次のとおりです。

{INCLUDETEXT "MyFile1.doc"}

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(842)は、Microsoft Word 97、2000、2002、および2003に適用されます。