Không cho Excel đóng tệp theo cách thông thường (2 người xem)

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

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

chibi

Thành viên tích cực
Thành viên danh dự
Tham gia
10/1/07
Bài viết
1,120
Được thích
623
Chào các bạn.
Tôi có một vấn đề cần tham khảo ý kiến giúp đỡ của các bạn.
Thông thường khi đóng tệp ta chọn File->Close hoặc bấm vào nút Close.
Nay tôi muốn không cho phép đóng tệp theo cách đó và bắt buộc phải thông qua nút lệnh do người dùng tạo ra.
Xin cảm ơn.
 
Dear all,
--------
Em xin bổ sung, để kiểm soát việc đóng một Workbook, chúng ta cũng có thể ứng dụng thủ tục sự kiện Workbook_BeforeClose của ThisWorkbook:

Mã:
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("Do you want to exit?", vbYesNo + vbQuestion) = vbNo Then
     Cancel = True
Else
[COLOR=DarkGreen]     'Your code here[/COLOR]
End If
End Sub
Theo cách này chúng ta sẽ không cần disable cả shortcut của lệnh Close nữa.
 
Dựa vào bài viết của các bạn, tôi làm 1 file không cho phép close theo cách thông thường, nhưng không hiểu sao đoạn code sau không có tác dụng
Mã:
Private Sub Workbook_Open()
    Application.EnableEvents = True
End Sub
Cụ thể, tôi xây dựng sự kiện Workbook_BeforeClose như sau
Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Cancel = True
    MsgBox ("Khong thoat kieu nay")
End Sub
và 1 macro
Mã:
Sub Button1_Click()
   Application.EnableEvents = False
   ActiveWorkbook.Close savechanges:=True
End Sub
Cái Workbook_BeforeClose bị mất tác dụng khi mở tệp lại.
Xin các bạn chỉ giúp
(Ví dụ trong file đính kèm)
 

File đính kèm

Sao mình thử vẫn thấy code chạy tốt?
Mình thường dùng lệnh Application.Quit để đóng luôn cả chương trình.
 

File đính kèm

Cảm ơn voda, nếu dùng Application.Quit thì OK, nhưng ở đây tôi chỉ muốn close workbook thôi.
 
Gởi Chibi
Chibi thử bỏ thủ tục này xem nhé
Mã:
Private Sub Workbook_Open()
    Application.EnableEvents = True
End Sub
TDN
 
Web KT

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

Back
Top Bottom