Loading an Excel Add-in

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

You can load a Microsoft® Excel add-in in one of three ways:

  • **Manually   **Select the check box next to the name of the add-in in the Add-Ins dialog box on the Tools menu.
  • **Automatically when Excel starts   **Save the add-in to the ..\ \Excel\XLStart subfolder. You can change the location of the XLStart subfolder on the General tab of the Options dialog box (Tools menu).
  • **Programmatically   **Use the Add method of the AddIns collection to add the add-in to the list of available add-ins, and then set the Installed property of the corresponding AddIn object to True.

For example, the following procedure loads an add-in by first checking whether it is in the AddIns collection and adding it if it is not. Then, the procedure sets the add-in's Installed property to True. To call this procedure, pass in the path and file name of the add-in that you want to add:

Function Load_XL_AddIn(strFilePath As String) As Boolean
   ' Checks whether add-in is in collection, and
   ' then loads it. To call this procedure, pass
   ' in add-in's path and file name.

   Dim addXL            As Excel.AddIn
   Dim strAddInName     As String
   
   On Error Resume Next
   ' Call ParsePath function to return file name only.
   strAddInName = ParsePath(strFilePath, FILE_ONLY)
   ' Remove extension from file name to get add-in name.
   strAddInName = Left(strAddInName, Len(strAddInName) - 4)
   ' Attempt to return reference to add-in.
   Set addXL = Excel.AddIns(strAddInName)
   If Err <> 0 Then
      Err.Clear
      ' If add-in is not in collection, add it.
      Set addXL = Excel.AddIns.Add(strFilePath)
      If Err <> 0 Then
         ' If error occurs, exit procedure.
         Load_XL_AddIn = False
         GoTo Load_XL_AddIn_End
      End If
   End If
   ' Load add-in.
   If Not addXL.Installed Then addXL.Installed = True
   Load_XL_AddIn = True
   
Load_XL_AddIn_End:
   Exit Function
End Function

See Also

Excel Add-ins | Creating an Excel Add-in | Running Code Automatically When an Excel Add-in Is Loaded or Unloaded