Excel VBA不能识别手动打开的.xlam加载项

我有一个不能在Application.AddInsfind的Excel加载项。 我手动打开加载项通过转到文件 – >打开 – >浏览到addin.xlam 。 加载项是否需要以编程方式添加才能显示在Application.AddIns

编辑

@Fadi

这些打印function中没有看到我的插件。 在第一个,它只是打印我当前的工作簿的名称,这是全部。 第二个成功地打印出我的其他10个已经以编程方式添加的加载项,但不是手动添加的。

 Sub MsgWorkbooks() Dim s As String For Each wb In Workbooks s = s + app.Name Next wb MsgBox s End Sub Sub MsgAddIns() Dim s As String For Each app In Application.AddIns s = s + app.Name Next app MsgBox s End Sub 

也许你需要安装它:

 Sub InstallAddIn() Dim AI As Excel.AddIn Set AI = Application.AddIns.Add(Filename:="d:\addin.xlam") 'change the addin fullname AI.Installed = True End Sub 

更多信息在这里

正如Doug Glancy评论的,我们可以检查插件是否可以像任何普通的工作簿一样使用。 所以我们可以使用这个function:

 Function IsAddinLoaded(adName As String) As Boolean Dim addinWB As Workbook On Error Resume Next Set addinWB = Workbooks(adName) If Err = 0 Then IsAddinLoaded = True On Error GoTo 0 End Function 

去testing:

 Sub Test() if IsAddinLoaded("addin.xlam") = true Then ' change the name of addin msgbox "Addin is loaded" Else msgbox "Addin not loaded" End if End Sub