コピー番号の印刷(Microsoft Word)
ビジネス環境では、ドキュメントの複数のコピーを印刷することは珍しいことではありません。場合によっては、コピーに番号を付けることが有益です。たとえば、最初のコピーには(おそらくヘッダーまたはフッターに)「コピー1」というテキストが含まれ、2番目のコピーには「コピー2」というテキストが含まれます。
もちろん、1つのオプションは、ドキュメントの個々のコピーを印刷し、各印刷の間にコピー数を編集することです。これは退屈で、本当に速くなります。また、(他の_WordTips_で説明されているように)連番フィールドを利用して、印刷する必要のある部数と同じ数にすることもできます。したがって、25部を印刷する必要がある場合は、ドキュメント全体(連番フィールドを含む)をコピーし、ドキュメントの最後に移動して、さらに24回貼り付けることができます。ただし、これによりドキュメント全体がかなり大きくなり、問題に取り組むためのより簡単な方法があります。
おそらく、この問題の最も簡単な解決策(マクロを使用する以外)は、Wordの差し込み印刷機能を使用することです。各コピーに割り当てたい番号を含む単純なデータソースを使用します。次に、マージフィールドをドキュメント内の適切な場所に配置し、マージを実行します。各コピーには、必要なコピー番号が含まれます。このアプローチを使用することの追加の利点は、必要に応じて、マージで追加情報を使用できることです。たとえば、ドキュメントの各コピーが特定の人に割り当てられている場合、コピーを受け取る人の名前を含む別のデータフィールドをデータソースに追加するだけで済みます。次に、マージされた各ドキュメントにその人の名前を印刷することもできます。
必要に応じて、マクロを使用して番号付きのコピーを印刷できます。
たとえば、次のマクロは、印刷する部数と、使用する開始部数を尋ねます。 (これは、25部を印刷し、誰かが26から35までの番号が付けられた10の2番目のバッチを印刷するように要求した場合に非常に便利です。)マクロはセッション間の最後の部数も格納するため、デフォルトとして使用されます。次にマクロを実行するとき。
Public Sub PrintNumberedCopies1() 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つのコピーが印刷されます。これらの手順は、印刷することを選択した回数だけ繰り返されます。
残念ながら、このマクロソリューションはすべてのバージョンのWordで機能するとは限りません。たとえば、Word 97ドキュメントのヘッダーにDOCVARIABLEフィールドを配置してからドキュメントを印刷すると、Wordはすぐにクラッシュします。
これを回避する方法は?別のアプローチを使用するだけです。 (柔軟性がなければ、Wordは何もありません。)次のマクロは、Wordのすべての最新バージョンで機能します。これは、ドキュメント変数の代わりにカスタムドキュメントプロパティの使用に依存する以前のもののバリエーションです。
Public Sub PrintNumberedCopies2() Dim varItem As DocumentProperty 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.CustomDocumentProperties 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.CustomDocumentProperties.Add _ Name:="CopyNum", LinkToContent:=False, _ Type:=msoPropertyTypeNumber, 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.CustomDocumentProperties("CopyNum") + 1))) ' loop through the print-write-print cycle For lCounter = 0 To lCopiesToPrint - 1 ' update the document variable ActiveDocument.CustomDocumentProperties("CopyNum") = _ lCopyNumFrom + lCounter ' print this numbered copy ActiveDocument.PrintOut Copies:=1 Next lCounter End Sub
このマクロを使用するには、他に2つのことを行う必要があります。
まず、コピー数を表示する場所をドキュメント内で指定する必要があります。印刷する場所に、次のフィールドを挿入するだけです(Ctrl + F9を押してフィールド中括弧を挿入することを忘れないでください):
{ DOCPROPERTY "CopyNum" }
最初にフィールドを挿入すると、「エラー!不明なドキュメントプロパティ名」などのエラーメッセージがフィールドから返される場合があります。心配しないでください。マクロを実行すると、これはなくなり、適切なコピー数に置き換えられます。
次に行う必要があるのは、印刷時にフィールドを更新するようにWordが構成されていることを確認することです。ここで、マクロを実行すると、印刷する部数と使用する開始番号を尋ねられます。ドキュメント変数が更新され、ドキュメントの1つのコピーが印刷されます。これらの手順は、印刷することを選択した回数だけ繰り返されます。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(844)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ:
linkPrinting CopyNumbers。