ビジネス環境では、ドキュメントの複数のコピーを印刷することは珍しいことではありません。場合によっては、コピーに番号を付けることが有益です。たとえば、最初のコピーには(おそらくヘッダーまたはフッターに)「コピー1」というテキストが含まれ、2番目のコピーには「コピー2」というテキストが含まれます。

もちろん、1つのオプションは、ドキュメントの個々のコピーを印刷し、各印刷の間にコピー数を編集することです。これは退屈で、本当に速くなります。また、(他の_WordTips_で説明されているように)連番フィールドを利用して、印刷する必要のある部数と同じ数にすることもできます。したがって、25部を印刷する必要がある場合は、ドキュメント全体(連番フィールドを含む)をコピーし、ドキュメントの最後に移動して、さらに24回貼り付けることができます。ただし、これによりドキュメント全体がかなり大きくなり、問題に取り組むためのより簡単な方法があります。

おそらく、この問題の最も簡単な解決策(マクロを使用する以外)は、Wordの差し込み印刷機能を使用することです。各コピーに割り当てたい番号を含む単純なデータソースを使用します。次に、マージフィールドをドキュメント内の適切な場所に配置し、マージを実行します。各コピーには、必要なコピー番号が含まれます。このアプローチを使用することの追加の利点は、必要に応じて、マージで追加情報を使用できることです。たとえば、ドキュメントの各コピーが特定の人に割り当てられている場合、コピーを受け取る人の名前を含む別のデータフィールドをデータソースに追加するだけで済みます。次に、マージされた各ドキュメントにその人の名前を印刷することもできます。

必要に応じて、マクロを使用して番号付きのコピーを印刷できます。

たとえば、次のマクロは、印刷する部数と、使用する開始部数を尋ねます。 (これは、25部を印刷し、誰かが26から35までの番号が付けられた10の2番目のバッチを印刷するように要求した場合に非常に便利です。)マクロはセッション間の最後の部数も格納するため、デフォルトとして使用されます。次にマクロを実行するとき。

Public Sub PrintNumberedCopies()

Dim varItem As Variable     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.Variables         If varItem.Name = "CopyNum" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.Variables.Add _             Name:="CopyNum", Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.Variables("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.Variables("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

このマクロを使用するには、他に2つのことを行う必要があります。

まず、コピー数を表示する場所をドキュメント内で指定する必要があります。印刷する場所に、次のフィールドを挿入するだけです(Ctrl + F9を押してフィールド中括弧を挿入することを忘れないでください):

{ DOCVARIABLE "CopyNum" }

次に行う必要があるのは、印刷時にフィールドを更新するようにWordが構成されていることを確認することです。ここで、マクロを実行すると、印刷する部数と使用する開始番号を尋ねられます。ドキュメント変数が更新され、ドキュメントの1つのコピーが印刷されます。これらの手順は、印刷することを選択した回数だけ繰り返されます。

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13136)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: