Khi bạn bấm vào công cụ In, Word sẽ tự động in một bản sao tài liệu của bạn. Nó thực hiện điều này bất kể số lượng bản sao bạn đã chọn in trước đó trong hộp thoại Print. Đây không phải là một số hành vi vui nhộn chỉ có ở công cụ Print. Thật vậy, mỗi khi bạn hiển thị lại hộp thoại In, bạn sẽ nhận thấy rằng cài đặt Số bản sao luôn được đặt lại thành 1.

Word dường như luôn bị mất trí nhớ ngắn hạn trong lĩnh vực này; cài đặt Số bản sao chỉ đơn giản là không “liên tục” và phải được đặt mỗi khi bạn muốn in. Điều này có thể gây khó chịu, đặc biệt nếu bạn muốn in cùng một số lượng bản sao trên cơ sở nhất quán.

Có hai cách để tiếp cận một giải pháp. Đầu tiên, bạn có thể tạo macro để in, sử dụng máy in hiện được chọn, một số lượng bản sao cụ thể. Đây là một cách tiếp cận tuyệt vời nếu bạn thấy mình thường xuyên in một số lượng bản sao nhất định. Ví dụ, macro sau sẽ in bốn bản sao của tài liệu hiện tại:

Sub PrintFour()

ActiveDocument.PrintOut Copies:=4 End Sub

Nếu bạn gán macro này cho nút thanh công cụ mới hoặc phím tắt, thì một cú nhấp chuột hoặc tổ hợp phím đơn giản sẽ in ra số lượng bản sao mong muốn.

Giải pháp thứ hai liên quan nhiều hơn, nhưng có thể linh hoạt hơn về lâu dài. Giải pháp này liên quan đến việc sử dụng thuộc tính tài liệu tùy chỉnh để duy trì, trên cơ sở từng tài liệu, số lượng bản sao được in lần cuối. Cài đặt này được sử dụng làm số lượng bản sao cần in, do đó cung cấp số lượng bản sao liên tục cho mỗi tài liệu. Hai macro sau nên được sử dụng:

Public Sub FilePrint()

Dim bExists As Boolean     Dim MyPrint As Dialog

Set MyPrint = Dialogs(wdDialogFilePrint)

With MyPrint         .NumCopies = ActiveDocument.CustomDocumentProperties("Copies")

.Show     End With

ActiveDocument.CustomDocumentProperties("Copies") = _       MyPrint.NumCopies

Set MyPrint = Nothing End Sub
Public Sub FilePrintDefault()

Dim bExists As Boolean

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

ActiveDocument.PrintOut Copies:= _       CInt(ActiveDocument.CustomDocumentProperties("Copies"))

End Sub

Các macro này có tên đặc biệt, FilePrint và FilePrintDefault. Đây là những tên được gán cho các lệnh Word bên trong hiển thị hộp thoại In (FilePrint) và in tài liệu hiện hoạt (FilePrintDefault) thông qua việc sử dụng công cụ In trên thanh công cụ.

Khi bạn sử dụng các macro này, với các tên được hiển thị, về cơ bản bạn sẽ thay thế các lệnh bên trong Word.

Trong trường hợp macro FilePrint mới, các thuộc tính tài liệu được kiểm tra để xem có một Bản sao được đặt tên hay không. Nếu không có, thì một thuộc tính tài liệu có tên đó sẽ được tạo và đặt thành giá trị là 1.

Sau đó, hộp thoại In được hiển thị và giá trị Số bản sao được đặt dựa trên thuộc tính tài liệu tùy chỉnh. Bạn, với tư cách là người dùng, sau đó có thể thay đổi cài đặt Số bản sao, như mong muốn. Khi hộp thoại đóng (bằng cách in hoặc không), thuộc tính tài liệu Bản sao được cập nhật thành bất kỳ cài đặt Số bản sao nào.

Mặt khác, macro FilePrintDefault chỉ kiểm tra để đảm bảo rằng thuộc tính tài liệu Copies tồn tại và đặt số lượng bản sao để in dựa trên giá trị của nó. Nếu thuộc tính không tồn tại, thì nó được tạo và đặt giá trị là 1.

_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 (1313) á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: