Câu hỏi Excel 2010/2013 - VBA - Cách chạy sự kiện trước khi xem trước bản in


Tôi đã dành rất nhiều thời gian để giải quyết vấn đề này và tìm kiếm nhiều diễn đàn nhưng tôi vẫn chưa tìm được giải pháp. Có lẽ ai đó ở đây có thể tìm thấy câu trả lời ...

Tôi muốn chạy một số mã (thay đổi một số tế bào để thay đổi định dạng có điều kiện, ẩn một số hàng vv) trước khi người dùng in bảng tính.

Trong những ngày cũ, điều này được thực hiện đơn giản bằng cách chạy sự kiện _BeforePrint được tạo sẵn trong excel:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    'Do something
End Sub

Trong excel 2010 và người dùng có thể nhấp vào xem trước khi in sau khi nhấn Ctrl-P hoặc vào File-> Print.

Sự kiện _BeforePrint chỉ kích hoạt sau khi người dùng thực sự nhấp vào In!

Do đó, người dùng đang xem bản xem trước bản in của trang tính trước khi macro của tôi đang chạy. Trang tính bây giờ trông không tốt cho việc in ấn và người dùng bắt đầu thao tác trang tính vì họ không biết trang tính sẽ được sắp xếp để in sau khi họ nhấn nút In.

Bất cứ ai có một giải pháp cho điều này?


0
2017-08-04 11:45


gốc


Đây không phải là một giải pháp, nhưng có vẻ là một giải pháp tốt blog.contextures.com/archives/2011/09/28/… - jcbermu
Bạn đã đặt mã này ở đâu? thisworkbook module? - Raystafarian
@Raystafarian Có, nó phải nằm trong mô-đun này, nếu không nó sẽ không chạy trên sự kiện in. - stine
@ jcbermu Cảm ơn, thật không may điều này không giải quyết được vấn đề của tôi vì người dùng vẫn có thể vào File-> Print khi chúng được sử dụng và thấy định dạng sai / xấu. - stine


Các câu trả lời: