[Giúp đỡ] hàm WorkbookBeforePrint - chạy trước khi in

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Forever1Love

Thành viên mới
Tham gia
6/5/10
Bài viết
6
Được thích
0
e có 1 file .xlam, trong thisworkbook có đoạn mã này:
Option Explicit
Public WithEvents ExcelApp As Application
Private Sub Workbook_Open()
Set ExcelApp = Application
End Sub
'gọi sub trước khi in
Private Sub ExcelApp_WorkbookBeforePrint(ByVal wb As Workbook, Cancel As Boolean)
MsgBox "có chay truoc khi in"
Cancel = True
End Sub
và trong module1, ví dụ có đoạn mã bị lỗi này
Sub kt()
MsgBox "A " + 0.3
End Sub

bình thường nếu chưa chạy kt() thì trc khi in ExcelApp_WorkbookBeforePrint sẽ được gọi và hiển thị thông báo "có chạy trước khi in". nhg nếu em chạy kt(), nó sẽ báo lỗi ở "A " + 0.3. và lúc này ExcelApp_WorkbookBeforePrint sẽ bị ảnh hưởng và sẽ không chạy trước khi in nữa. phải tắt hết excel đi mở lại thì mới được.
ý của e là ở bất kỳ đâu khi em đang xây dựng các chức năng mà xảy ra lồi thì nó sẽ không gọi ExcelApp_WorkbookBeforePrint nữa. mn giúp e fix nó với, để ví dụ có lỗi ở những chức năng mới đang trong quá trình xây dựng cũng sẽ không ảnh hưởng đến hàm kiểm tra của e trc khi in.
 

File đính kèm

  • HopThanhCo-v2.2023.xlam
    12.2 KB · Đọc: 6
e có 1 file .xlam, trong thisworkbook có đoạn mã này:
Option Explicit
Public WithEvents ExcelApp As Application
Private Sub Workbook_Open()
Set ExcelApp = Application
End Sub
'gọi sub trước khi in
Private Sub ExcelApp_WorkbookBeforePrint(ByVal wb As Workbook, Cancel As Boolean)
MsgBox "có chay truoc khi in"
Cancel = True
End Sub
và trong module1, ví dụ có đoạn mã bị lỗi này
Sub kt()
MsgBox "A " + 0.3
End Sub

bình thường nếu chưa chạy kt() thì trc khi in ExcelApp_WorkbookBeforePrint sẽ được gọi và hiển thị thông báo "có chạy trước khi in". nhg nếu em chạy kt(), nó sẽ báo lỗi ở "A " + 0.3. và lúc này ExcelApp_WorkbookBeforePrint sẽ bị ảnh hưởng và sẽ không chạy trước khi in nữa. phải tắt hết excel đi mở lại thì mới được.
ý của e là ở bất kỳ đâu khi em đang xây dựng các chức năng mà xảy ra lồi thì nó sẽ không gọi ExcelApp_WorkbookBeforePrint nữa. mn giúp e fix nó với, để ví dụ có lỗi ở những chức năng mới đang trong quá trình xây dựng cũng sẽ không ảnh hưởng đến hàm kiểm tra của e trc khi in.
Thử sửa thế này xem được không?
Mã:
Sub kt()
On Error GoTo Loi
    MsgBox "A " + 0.3
    Exit Sub
Loi:
End Sub
 
Upvote 0
vẫn bị bác à, nó không thông báo lỗi nhg lúc in vẫn không chạy hàm beforprint, trc lúc đăng bài em cũng có thử rồi
Không biết thế nào chứ máy tui chạy 8 lần xong in nó vẫn báo, còn nếu không được nửa thử thêm lệnh phía sau ở phía dưới lệnh Loi: xem có được không?
Mã:
Set ExcelApp = Application
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom