Tắt Com Add-ins

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

hvnhpro

Thành viên hoạt động
Tham gia
3/3/11
Bài viết
124
Được thích
71
Điểm
628
Giới tính
Nam
Chào Anh/Chị GPE
em có nhờ chatgpt viết code tắt com addins nhưng không được. báo lỗi " This add-in is installed for all users on this computer, and can only be connected or disconnected by an administrator" ở dòng code "addin.Connect = False".
Em thao tác tay ở phần option vẫn tắt bình thường được.
Anh/Chị giúp em đoạn code để tắt com addins chạy với ạ.
Em xin trân thành cảm ơn.

Mã:
Sub DisableCOMAddin()
    Dim addin As COMAddIn
    
    ' Thay đổi GUID của Add-in cần tắt
    Dim addinGUID As String
    addinGUID = "{Your_Addin_GUID_Here}"
    
    For Each addin In Application.COMAddIns
        If addin.Guid = addinGUID Then
            addin.Connect = False
            MsgBox "Đã tắt COM Add-in thành công!", vbInformation
            Exit Sub
        End If
    Next addin
    
    MsgBox "Không tìm thấy COM Add-in với GUID được chỉ định.", vbExclamation
End Sub

Lý giải bên ngoài một chút
Máy tính công ty em mới cài Com add-ins để phân loại tài liệu "1.mật- 2.nội bộ - 3.công bố", việc phân loại tài liệu để tránh thất thoát dữ liệu. Nhưng làm mấy code vba em xài bị lỗi ( lúc đóng file excel bị mất phần cảnh báo lưu không đóng dù em đã có dòng Application.DisplayAlerts = False".
Em thử tắt Com addins bằng thao tác tay thì code vba hay xài vẫn dùng được.
 
1/ Thử chạy tập tin Excel chứa macro trên với quyền Administrtor

2/ Code chỉnh trong Registry ấy.
 
dạ để em nghiên cứu Code chỉnh trong Registry.
phương án chạy với quyền admin thì em không tìm thấy, khả năng bị tắt rồi.
 
COM add-in được *** đặt với hai trường hợp.
1. Cài đặt để chạy với tất cả user: Trường hợp này bạn phải chạy Excel với "Run as Administrator" mới có thể gán addin.Connect = False/True
2. Cài đặt chạy với user hiện tại: Trường hợp này bạn chạy Excel bình thường không gặp lỗi gì.
Vậy nếu COM add-in do người khác viết và cài đặt cố định như trường hợp 1 thì bạn phải chiều theo nó. Nếu là bạn viết thì phải biết cách điều chỉnh việc đăng ký trong Registry để đưa về trường hợp 2.
 
dạ Com add-ins "classifier" của Boldon James, cài đăt cho tất cả user.
Em thử 2 phương án đều chưa được. tạm thời em đành tắt tay rồi xài code vba.
Em cảm ơn 2 Anh befaintNguyễn Duy Tuân đã giúp em hiểu hơn phần này.
 
Web KT
Back
Top