我想检查addin是否已安装并被引用。是否安装了以下代码检查添加。我如何检查它是否在excel中被引用。
通过推荐我的意思是工具> Addins> Addins Dailog box>如果安装了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
答案 0 :(得分:4)
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
答案 1 :(得分:2)
你需要测试的是插件是否打开,就像任何其他工作点一样。如果加载了插件,这将返回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
答案 2 :(得分:0)
我遇到了一个问题,即使函数返回True,我仍然会在尝试使用该插件时出错。事实证明,可以安装插件,但不能“打开”。因此,除了检查插件外,我还检查插件是否已打开。如果没有,我打开插件。请在此处查看我的问题和答案: