Thực thi code khi file thực sự đóng

  • Thread starter Deleted member 1392
  • Ngày gửi
D

Deleted member 1392

Guest
Khi thiết lập sự kiện chạy code khi đóng file. Các bạn sẽ nghĩ ngay đến Workbook_BeforeClose. Tuy nhiên, khi đóng file mà file các bạn hiện lên một thông báo như thế này
Bạn cần đăng nhập để thấy hình ảnh

Khi thông báo này được hiện lên, bắt kể bạn có đóng file thật hay bỏ đóng thì sự kiện Workbook_BeforeClose vẫn sẽ được thực thi. Đây chính là điểm hạn chế cố hữu trong sự kiện Workbook_BeforeClose.
Để khắc phục, ta có thể dùng một chuỗi sự kiện kết hợp như sau trong Thisworkbook:
Mã:
Private WorkbookClosing As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  WorkbookClosing = True
End Sub

Private Sub Workbook_Deactivate()
  On Error Resume Next
  If WorkbookClosing And ThisWorkbook.Name = ActiveWindow.Caption Then
    Workbook_Closing
  Else
    WorkbookClosing = False
  End If
End Sub

Private Sub Workbook_Closing()
  '//Code khi đóng file thực sự
  MsgBox "Workbook_Closing event."
End Sub
Nguồn tham khảo:
 
Top