در یک محیط تجاری، چاپ چند نسخه از یک سند غیرعادی نیست. گاهی اوقات، شماره گذاری نسخه ها مفید است. به عنوان مثال، کپی اول دارای متن "کپی 1" (شاید در یک سرصفحه یا پاورقی) است، در نسخه دوم تا هر تعداد کپی که دارید، "کپی 2" وجود دارد.
البته یکی از گزینهها چاپ تک نسخههای سند و ویرایش شماره کپی بین هر چاپ است. این خسته کننده می شود، واقعا سریع. همچنین ممکن است بخواهید از یک فیلد شماره گذاری متوالی استفاده کنید (همانطور که در موارد دیگر بحث شد
) و تعداد کپی ها را با آنچه برای چاپ نیاز دارید برابر کنید. بنابراین، اگر مجبور به چاپ 25 نسخه هستید، می توانید به سادگی کل سند (شامل فیلد شماره گذاری متوالی) را کپی کنید، به انتهای سند بروید و 24 بار دیگر آن را بچسبانید. با این حال، این یک سند کلی نسبتاً بزرگ ایجاد می کند، و راه های آسان تری برای نزدیک شدن به مشکل وجود دارد.
شاید ساده ترین راه حل برای این مشکل (کوتاه استفاده از ماکرو) استفاده ساده از قابلیت های ادغام ایمیل Word باشد. شما می توانید از یک منبع داده ساده استفاده کنید که شامل اعدادی است که می خواهید به هر نسخه اختصاص دهید. سپس، فیلد ادغام را در محل مناسب در سند ما قرار دهید و ادغام را اجرا کنید. هر کپی شامل شماره کپی مورد نظر خواهد بود. مزیت افزوده استفاده از این رویکرد این است که می توانید از اطلاعات اضافی با ادغام خود استفاده کنید، همانطور که نیازها حکم می کنند. به عنوان مثال، اگر هر کپی از سند به شخص خاصی اختصاص داده شده باشد، می توانید به سادگی یک فیلد داده دیگری را به منبع داده خود اضافه کنید که حاوی نام شخصی برای دریافت کپی باشد. سپس، می توانید نام آن شخص را در هر سند ادغام شده نیز چاپ کنید.
اگر ترجیح می دهید، می توانید از یک ماکرو برای چاپ نسخه های شماره دار خود استفاده کنید. به عنوان مثال، ماکرو زیر از شما میپرسد که چند نسخه را میخواهید چاپ کنید، همراه با شماره شروع نسخه برای استفاده. (اگر 25 کپی چاپ کنید، و سپس شخصی از شما بخواهد دسته دوم 10 تایی را با شماره 26 تا 35 چاپ کنید، واقعاً مفید است.) ماکرو همچنین آخرین شماره کپی را بین جلسات ذخیره می کند، به طوری که به عنوان پیش فرض استفاده می شود. وقتی ماکرو را اجرا می کنید
Public Sub PrintNumberedCopies() Dim varItem As Variable Dim bExists As Boolean Dim lCopiesToPrint As Long Dim lCounter As Long Dim lCopyNumFrom As Longensure our doc variable exists bExists = False For Each varItem In ActiveDocument.Variables If varItem.Name = "CopyNum" Then bExists = True Exit For End If Next varIteminitialize document variable if doesnt exist If Not bExists Then ActiveDocument.Variables.Add _ Name:="CopyNum", Value:=0 End Ifask 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 - 1update the document variable ActiveDocument.Variables("CopyNum") = _ lCopyNumFrom + lCounterprint this numbered copy ActiveDocument.PrintOut Copies:=1 Next lCounter End Sub
برای استفاده از این ماکرو، دو کار دیگر باید انجام دهید. ابتدا باید در سند خود محل نمایش شماره کپی را مشخص کنید. در نقطه ای که باید چاپ شود، به سادگی فیلد زیر را وارد کنید (به یاد داشته باشید که با فشار دادن Ctrl+F9 بریس های فیلد را وارد کنید ):
{ DOCVARIABLE "CopyNum" }
دومین کاری که باید انجام دهید این است که مطمئن شوید Word به گونه ای پیکربندی شده است که هنگام چاپ فیلدها را به روز کند. اکنون، وقتی ماکرو را اجرا می کنید، از شما می پرسند که چند نسخه چاپ کنید و از چه شماره شروع استفاده کنید. متغیر سند به روز می شود و یک نسخه از سند چاپ می شود. این مراحل به تعداد دفعاتی که برای چاپ انتخاب کرده اید تکرار می شود.