Giúp em Không thoát được Lệnh in khi đã Cancle trong hàm with (2 người xem)

  • Thread starter Thread starter lightd
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

lightd

Thành viên chính thức
Tham gia
12/10/11
Bài viết
63
Được thích
12
Cac anh chị ơi giúp em gấp với ạ .
Em đã ấn Cancle nhưng vẫn cứ thực hiện lệnh in
" With Application.ThisWorkbook
.Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
If reponse = vbCancel Then Exit Sub
End With "
Cảm ơn các anh
 
Cac anh chị ơi giúp em gấp với ạ .
Em đã ấn Cancle nhưng vẫn cứ thực hiện lệnh in
" With Application.ThisWorkbook
.Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
If reponse = vbCancel Then Exit Sub
End With "
Cảm ơn các anh

Vẫn in ra là đúng rồi vì câu lệnh "Application.Dialogs(xlDialogPrinterSetup).Show" sẽ hiển thị các máy in để bạn chọn. Còn câu lệnh PrintOut là câu lệnh in ra
 
Upvote 0
Vẫn in ra là đúng rồi vì câu lệnh "Application.Dialogs(xlDialogPrinterSetup).Show" sẽ hiển thị các máy in để bạn chọn. Còn câu lệnh PrintOut là câu lệnh in ra
Mình ấn cancel Rồi vẫn in , Mình muốn hiện hiện lệnh Printer diaglog ra nhưng khi người dùng đổi ý không in nữa thì ấn cancle màn hình hiện về ban đầu
 
Upvote 0
Cac anh chị ơi giúp em gấp với ạ .
Em đã ấn Cancle nhưng vẫn cứ thực hiện lệnh in
" With Application.ThisWorkbook
.Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
If reponse = vbCancel Then Exit Sub
End With "
Cảm ơn các anh
Bạn thử cái này xem sao:
Sub Intrang()
Dim Thongbao
With Application.ThisWorkbook
Thongbao = MsgBox("Ban co muon in trang tinh nay khong", vbOKCancel)
If Thongbao = vbCancel Then Exit Sub
.PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
End With
End Sub
 
Upvote 0
printersetup trả vè tên máy in. Nếu cancel thì lệnh in dùng máy in mặc định. Vì vậy nó vẫn in như thường.
Muốn cancel mà nó bỏ không in thì phải xét TRƯỚC khi gọi PrintOut

If Application.Dialogs(xlDialogPrinterSetup).Show <> vbCancel Then .PrintOut

đại khái vậy
 
Lần chỉnh sửa cuối:
Upvote 0
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Tôi nghĩ phương án bác Vet Mini đề xuất là gọn gàng nhất, có lẽ bác ấy không cụ thể ra nên bạn không để ý.

Bạn thay cả đoạn:

Mã:
With Application.ThisWorkbook
    .Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
   If reponse = vbCancel Then Exit Sub
End With

bằng 1 dòng sau:

Mã:
If Application.Dialogs(xlDialogPrinterSetup).Show Then Worksheets("printar").PrintOut
 
Upvote 0
Cảm ơn bác rất nhiều
Tôi nghĩ phương án bác Vet Mini đề xuất là gọn gàng nhất, có lẽ bác ấy không cụ thể ra nên bạn không để ý.

Bạn thay cả đoạn:

Mã:
With Application.ThisWorkbook
    .Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
   If reponse = vbCancel Then Exit Sub
End With

bằng 1 dòng sau:

Mã:
If Application.Dialogs(xlDialogPrinterSetup).Show Then Worksheets("printar").PrintOut
 
Upvote 0
Công nhận câu code của bác rất gọn và tối ưu cảm ơn bác
Tôi nghĩ phương án bác Vet Mini đề xuất là gọn gàng nhất, có lẽ bác ấy không cụ thể ra nên bạn không để ý.

Bạn thay cả đoạn:

Mã:
With Application.ThisWorkbook
    .Worksheets(printar).PrintOut , , , , Application.Dialogs(xlDialogPrinterSetup).Show
   If reponse = vbCancel Then Exit Sub
End With

bằng 1 dòng sau:

Mã:
If Application.Dialogs(xlDialogPrinterSetup).Show Then Worksheets("printar").PrintOut
 
Upvote 0
Web KT

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

Back
Top Bottom