Helpex - Trao đổi & giúp đỡ Đăng nhập
3

Tôi muốn kiểm tra xem addin đã được cài đặt và được tham chiếu chưa. Đoạn mã dưới đây kiểm tra phần bổ sung đã được cài đặt hay chưa. Làm cách nào để kiểm tra xem nó có được tham chiếu trong excel hay không.

Theo Đã giới thiệu, ý tôi là Hộp công cụ> Bổ trợ> Bổ trợ> Nếu bổ trợ được cài đặt> kiểm tra xem một bổ trợ có tên cụ thể được chọn.

Tôi muốn tốt hơn là không có bất kỳ vòng lặp nào.

Sub Demo() 
    Dim b As Boolean 
    b = CheckAddin("Solver add-in") 
    MsgBox "Solver is " & IIf(b, "", "not ") & "installed" 
End Sub 

Function CheckAddin(s As String) As Boolean 
    Dim x As Variant 
    On Error Resume Next 
    x = AddIns(s).Installed 
    On Error Goto 0 
    If IsEmpty(x) Then 
        CheckAddin = False 
    Else 
        CheckAddin = True 
    End If 
End Function 
3 hữu ích 1 bình luận 7.1k xem chia sẻ
5
Sub Sample()
    Dim wbAddin As Workbook

    On Error Resume Next
    Set wbAddin = Workbooks(AddIns("My Addin").Name)

    If Err.Number <> 0 Then
        On Error GoTo 0
        'Set wbAddin = Workbooks.Open(AddIns("My Addin").FullName)
        Debug.Print "Not Referenced"
    Else
        Debug.Print "Referenced"
    End If
End Sub
5 hữu ích 2 bình luận chia sẻ
3

Bạn cần kiểm tra xem addin đã mở, khá giống với bất kỳ workbood nào khác. Điều này sẽ trả về True nếu một addin được tải:

Function AddinIsLoaded(AddinName As String) As Boolean
On Error Resume Next
AddinIsLoaded = Len(Workbooks(AddIns(AddinName).Name).Name) > 0
End Function

Ví dụ:

Sub Test
Debug.Print AddinIsLoaded("Solver add-in")
End Sub
3 hữu ích 1 bình luận chia sẻ
0

Tôi đã gặp sự cố mà ngay cả khi hàm trả về True, tôi vẫn gặp lỗi khi cố gắng sử dụng addin đó. Hóa ra, một addin có thể được cài đặt, nhưng không thể "mở". Vì vậy, ngoài việc kiểm tra addin, tôi cũng kiểm tra xem tệp addin có đang mở hay không. Nếu không, tôi mở addin. Xem câu hỏi và câu trả lời của tôi tại đây:

Excel VBA Kiểm tra xem Addin được cài đặt nhưng không mở

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ excel add-in vba , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading