Excel VBA 无法识别手动打开的 .xlam 加载项



我有一个在Application.AddIns中找不到的 excel 加载项。我正在通过转到"文件"->"打开"->浏览到"addin.xlam"来手动打开加载项。是否需要以编程方式添加加载项才能显示在Application.AddIns中?

编辑

@Fadi

我在这两个打印功能中都没有看到我的插件。在第一个中,它只是打印我当前工作簿的名称,仅此而已。第二个成功打印出以编程方式添加的其他 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 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

要测试:

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

最新更新