添加安装和引用



我想检查是否已安装并引用了外接程序。下面的代码检查外接程序是否安装。我如何检查它是否在excel中被引用。

按引用是指"Tools> Addins> Addins Dailog"框>如果安装了Addins>检查是否选中了特定名称的插件。

我希望没有任何循环。

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 
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

您需要测试插件是否打开,就像任何其他工作区一样。如果加载了插件,将返回True:

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

Sub Test
Debug.Print AddinIsLoaded("Solver add-in")
End Sub

我遇到了一个问题,即使当函数返回True时,我仍然会在尝试使用该插件时得到一个错误。结果是,插件可以安装,但不能"打开"。所以,除了检查插件之外,我还检查了插件文件是否打开。如果没有,我打开插件。在这里看到我的问题和答案:

Excel VBA检查是否安装了插件但未打开

相关内容

最新更新