Khi mở 1 file XL ra làm sao tắt macro tự chạy trong file vừa mở?

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

digita

Guest
Chào mọi người,

Có 1 vấn đề đang tìm cách giải quyết. Tôi dùng lệnh Application.FileDialog để mở hộp thoại chọn 1 file XL nào đó để mở nó ra. Khi cái file mới hiện hình tôi muốn tắt cái auto_open (nếu có) trong file mở ra đó và tiếp tục chạy lệnh kế tiếp trong cái code đang chạy trong XL phiên bảng 2000.

Mong các bạn góp ý nhé.

Càm ơn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn có thể nói cụ thể hơn không ạ?
 
Upvote 0
Cách tạm thời: dùng Senkeys Disable macro để vô hiệu hóa sự kiện mở file, sau đó Enable macro để tiếp tục chạy code.
 
Upvote 0
OpenXlFile

Bạn thử code tôi viết xem được không.

Mã:
Sub OpenXlFile()
    Dim wb As Workbook
    Dim cFile As String
    Dim oldEvt As Boolean
    
    cFile = Application.GetOpenFilename("Excel Files (*.xl*),*.xl*,All Files (*.*),*.*")
    
    If cFile = "False" Then Exit Sub
    
    oldEvt = Application.EnableEvents
    
    On Error GoTo RaiseErr
    
    Application.EnableEvents = False
        
    Set wb = Application.Workbooks.Open(cFile)
    
    
RaiseErr:
    Set wb = Nothing
    Application.EnableEvents = oldEvt
    
End Sub
 
Upvote 0
Code này thật hay có thể chạy trong các phiên bản XL cũ. Cám ơn bạn Tuấn & Voda rất nhiều.

Gửi bạn Đức Hiền,

Khi bạn mở 1 file XL nào đó từ trong 1 file XL hiện hành thì nếu file mở ra có code viết sẳn (có tên như: Auto_open hay Workbook_Open) thì XL tự động kích hoạt code chạy 1 lèo bạn phải chờ mà không biết code có làm thay đổi nội dung trong file. Nói ví von như là trong bóng đá (hy vọng bạn cũng thích môn thể thao này), nhiệm vụ của cầu thủ tiền đạo là tấn công ghi bàn. Khi có 2 tiền đạo đến gần gôn đối thủ thì anh tiền đạo A dùng chiến thuật phân lẽ hàng phòng thủ bằng cách giao banh cho tiền đạo B để rồi B đá trả về cho A. Code của bạn Tuấn viết khiến B không thể có dịp giữ banh để tấn công mà phải giao quyền điều khiển banh lại cho A.

Mến
 
Upvote 0
Web KT

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

Back
Top Bottom