Trong môi trường kinh doanh, không có gì lạ khi phải in nhiều bản sao của một tài liệu. Đôi khi, việc đánh số các bản sao có lợi. Ví dụ: bản sao đầu tiên sẽ có (có thể ở đầu trang hoặc chân trang) văn bản “Bản sao 1”, bản sao thứ hai sẽ có “Bản sao 2”, trên bất kỳ bản sao nào bạn có.

Tất nhiên, một tùy chọn là in các bản sao riêng lẻ của tài liệu, thực hiện các chỉnh sửa đối với số bản sao giữa mỗi lần in. Điều này trở nên tẻ nhạt, thực sự nhanh chóng. Bạn cũng có thể muốn sử dụng trường đánh số tuần tự (như đã thảo luận trong WordTips khác) và tạo số lượng bản sao bằng những gì bạn cần in. Do đó, nếu bạn phải in 25 bản sao, bạn có thể chỉ cần sao chép toàn bộ tài liệu (bao gồm cả trường đánh số tuần tự), di chuyển đến cuối tài liệu và dán nó trong 24 lần khác. Tuy nhiên, điều này tạo ra một tài liệu tổng thể khá lớn và có nhiều cách dễ dàng hơn để tiếp cận vấn đề.

Có lẽ giải pháp dễ nhất cho vấn đề này (ngắn gọn là sử dụng macro) là chỉ cần sử dụng khả năng trộn thư của Word. Bạn sẽ sử dụng một nguồn dữ liệu đơn giản chứa các số bạn muốn gán cho mỗi bản sao. Sau đó, đặt trường hợp nhất ở vị trí thích hợp trong tài liệu của chúng tôi và chạy hợp nhất. Mỗi bản sao sẽ chứa số bản sao mong muốn. Lợi ích bổ sung của việc sử dụng phương pháp này là bạn có thể sử dụng thông tin bổ sung với hợp nhất của mình, khi nhu cầu ra lệnh. Ví dụ: nếu mỗi bản sao của tài liệu được giao cho một người cụ thể, bạn có thể chỉ cần thêm một trường dữ liệu khác vào nguồn dữ liệu của mình có chứa tên của người nhận bản sao. Sau đó, bạn cũng có thể in tên của người đó trong mỗi tài liệu đã hợp nhất.

Nếu muốn, bạn có thể sử dụng macro để in ra các bản sao được đánh số của mình.

Ví dụ: macro sau sẽ hỏi bạn muốn in bao nhiêu bản, cùng với số bản sao bắt đầu để sử dụng. (Điều này thực sự hữu ích nếu bạn in 25 bản, và sau đó ai đó yêu cầu bạn in lô thứ hai gồm 10, được đánh số từ 26 đến 35.) Macro cũng lưu trữ số bản sao cuối cùng giữa các phiên, để nó được sử dụng làm mặc định khi bạn chạy macro tiếp theo.

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

Để sử dụng macro này, bạn cần phải làm hai điều khác.

Trước tiên, bạn cần chỉ ra trong tài liệu của mình nơi bạn muốn số bản sao xuất hiện. Tại điểm cần in, chỉ cần chèn trường sau (nhớ rằng bạn chèn dấu ngoặc nhọn trường bằng cách nhấn Ctrl + F9):

{ DOCVARIABLE "CopyNum" }

Điều thứ hai bạn cần làm là đảm bảo rằng Word được cấu hình để cập nhật các trường khi in. Bây giờ, khi bạn chạy macro, bạn sẽ được hỏi cần in bao nhiêu bản sao và sử dụng số bắt đầu nào. Biến tài liệu được cập nhật và một bản sao của tài liệu được in. Các bước này được lặp lại cho số lần bạn đã chọn in.

Thật không may, giải pháp macro này sẽ không hoạt động trong tất cả các phiên bản Word. Ví dụ: nếu bạn đặt trường DOCVARIABLE trong tiêu đề của tài liệu Word 97 và sau đó in tài liệu, Word sẽ nhanh chóng bị lỗi.

Làm thế nào để giải quyết vấn đề này? Chỉ cần sử dụng một cách tiếp cận khác. (Word không là gì, nếu không phải là linh hoạt.) Macro sau hoạt động trong tất cả các phiên bản Word hiện đại. Đây là một biến thể của biến thể trước đó dựa vào việc sử dụng các thuộc tính tài liệu tùy chỉnh thay vì các biến tài liệu.

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

' 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

Để sử dụng macro này, bạn cần phải làm hai điều khác.

Trước tiên, bạn cần chỉ ra trong tài liệu của mình nơi bạn muốn số bản sao xuất hiện. Tại điểm cần in, chỉ cần chèn trường sau (nhớ rằng bạn chèn dấu ngoặc nhọn trường bằng cách nhấn Ctrl + F9):

{ DOCPROPERTY "CopyNum" }

Khi bạn chèn trường lần đầu tiên, bạn có thể thấy thông báo lỗi do trường trả về, chẳng hạn như “Lỗi! Tên thuộc tính tài liệu không xác định.” Đừng lo lắng; điều này sẽ biến mất và được thay thế bằng số bản sao thích hợp sau khi bạn chạy macro.

Điều thứ hai bạn cần làm là đảm bảo rằng Word được cấu hình để cập nhật các trường khi in. Bây giờ, khi bạn chạy macro, bạn sẽ được hỏi cần in bao nhiêu bản sao và sử dụng số bắt đầu nào. Biến tài liệu được cập nhật và một bản sao của tài liệu được in. Các bước này được lặp lại cho số lần bạn đã chọn in.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.

(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (844) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: