Nếu bạn đang tạo sổ làm việc để người khác sử dụng, bạn có thể quan tâm đến việc tắt các tùy chọn in (menu và thanh công cụ) bất cứ khi nào một sổ làm việc cụ thể được mở. Cách dễ nhất để làm như vậy là sử dụng macro Auto_Open (chạy ngay khi mở sổ làm việc có chứa nó) để làm cho các lệnh in menu và thanh công cụ không còn khả dụng. Sau đây sẽ thực hiện thủ thuật một cách độc đáo:

Sub Auto_Open()

'Prevent Printing via menu     MenuBars(xlWorksheet).Menus("File").MenuItems("Print...").Delete

'Turn off Print icon wherever it may be in the toolbars     For J = 1 To Toolbars.Count         For K = 1 To Toolbars(J).ToolbarButtons.Count             If Toolbars(J).ToolbarButtons(K).Id = 2 Then                 Toolbars(J).ToolbarButtons(K).Enabled = False             End If             If Toolbars(J).ToolbarButtons(K).Id = 3 Then                 Toolbars(J).ToolbarButtons(K).Enabled = False             End If         Next K     Next J End Sub

Bạn cũng có thể tạo một macro Auto_Close đặc biệt để khôi phục các menu và thanh công cụ khi đóng sổ làm việc:

Sub Auto_Close()

'Reset the menu items     For Each mb In MenuBars         mb.Reset     Next mb

'Reset the buttons     For J = 1 To Toolbars.Count         For K = 1 To Toolbars(J).ToolbarButtons.Count             If Toolbars(J).ToolbarButtons(K).Id = 2 Then                 Toolbars(J).ToolbarButtons(K).Enabled = True             End If             If Toolbars(J).ToolbarButtons(K).Id = 3 Then                 Toolbars(J).ToolbarButtons(K).Enabled = True             End If         Next K     Next J End Sub

Bạn nên lưu ý rằng các macro này chỉ chạy khi sổ làm việc cụ thể được mở và đóng. Điều đó có nghĩa là khả năng in của bạn sẽ không khả dụng miễn là sổ làm việc đang mở — ngay cả đối với bất kỳ sổ làm việc đang mở nào khác mà bạn có thể có.

Một cách tiếp cận khác là hủy mọi thao tác in trước khi bắt đầu. Sau đây là một macro bạn có thể đặt trong mô-đun sổ làm việc:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Cancel = True End Sub

Bất cứ khi nào ai đó cố gắng in sổ làm việc, quy trình sẽ tự động bị hủy bỏ. Nếu không, các lựa chọn menu và nút thanh công cụ vẫn hiển thị. (Bạn cũng có thể thay đổi macro để không chỉ hủy bỏ mà còn hiển thị hộp thông báo cho biết người dùng không được phép 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 trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

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

Mẹo này (2556) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.