2
我有几个excel加载项在打开现有工作簿时无法加载。以下是我在尝试诊断时注意到的一些相关事实和事情:Excel加载项有时不加载
- 这些是常规的excel加载项,而不是COM加载项。
- 从程序菜单打开excel时加载项始终会加载。
- 从电子邮件/共享驱动器/个人驱动器打开工作簿时,加载项不会加载〜10-20%的时间。
- 我无法一致地复制该问题。有时打开相同的工作簿将加载加载项,有时它不会。
该问题可能与其中包含安装程序的工具包之一相关。 (这个插件背后的想法是它可以发送给用户,并且可以通过打开来安装它,然后,一旦它安装在AddIns文件夹中,当加载项加载时它不再执行任何操作)。
Private Sub Workbook_Open() If Right(ThisWorkbook.Path, 6) <> "AddIns" Then Dim blRegister As Boolean Dim ThisAddIn As AddIn Application.DisplayAlerts = False On Error Resume Next ThisWorkbook.Sheets("Installing").Activate Application.AddIns("Toolkit").Installed = False ThisWorkbook.SaveAs "Z:\AppData\Microsoft\AddIns\ToolKit.xlam", AccessMode:=xlExclusive, ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges, FileFormat:=55 On Error GoTo 0 blRegister = Application.RegisterXLL("Z:\AppData\Microsoft\AddIns\ToolKit.xlam") Set ThisAddIn = Application.AddIns.Add("Z:\AppData\Microsoft\AddIns\ToolKit.xlam") ThisAddIn.Installed = True MsgBox "Thanks for Installing the Toolkit!" ThisWorkbook.Close False Application.DisplayAlerts = True End If End Sub
任何帮助或洞察力将不胜感激。谢谢!
所以你假设“Z:\”总是出现在所有计算机上并且可以访问?通常,AddIns与操作系统(C:\)存储在分区中。 – PatricK
正确,在这种情况下Z:可在所有计算机上访问(相当于C:驱动器) – user3738961
可能需要在SaveAs之前执行更多操作。当AddIns(“Toolkit”)。IsOpen = True',然后是'Application.EnableEvents = False'时,可能需要关闭AddIns(“Toolkit”).Name指的插件工作簿, ThisAddIn.Installed = True',然后在'ThisWorkbook.Close'之前'Application.EnableEvents = True'。事情是,除非每个步骤都使用'Debug.Print',否则无法确定它失败的位置。 – PatricK