Peter问在Excel启动时是否有一种方法可以指定不加载特定的加载项。他考虑到的加载项需要花费很多时间来加载,而他并不需要一直。禁用外接程序将有助于在不需要时为那些实例更快地启动Excel。

不幸的是,在启动时几乎没有什么可以禁用加载项的,因为还没有打开特定的工作簿。 (在任何工作簿之前都加载了加载项。)但是,您可以尝试一些方法。

第一件事是您可以创建自己的加载项,它只询问是否应加载大型加载项。

根据用户的响应,然后可以使用以下代码行加载加载项:

AddIns("Big Add-in").Installed = True

当然,您需要将“ Big Add-in”替换为要加载的实际加载项的名称。如果用户不希望加载加载项,则跳过代码行。在您的小插件的关闭事件中,您可以添加如下所示的行来卸载大插件:

AddIns("Big Add-in").Installed = False

这样,仅当用户说可以添加时才添加外接程序,然后始终在Excel会话结束时将其卸载。

另一种方法是从不加载大型加载项,而是在您的Personal.xls文件中放置一个例程,使用户有机会加载加载项。

可以将以下内容添加到Personal.xls中的Workbook_Open事件中:

Private Sub Workbook_Open()

With Application         .OnKey "{TAB}", "InstallMyAddIn"

.OnTime (Now + TimeValue("0:00:05")), "DisableTABProc"

End With End Sub

该宏的目的是给用户一段时间(在本例中为5秒),以按下Tab键,以便加载大型加载项。如果按下Tab键,则.OnKey方法将运行安装例程,并且.OnTime例程将启动计时器,该计时器将在五秒钟后运行禁用例程。注意,该宏调用了两个例程。这些可以放在Personal.xls的常规模块中。

Sub InstallMyAddIn()

AddIns("Big Add-in").Installed = True     DisableTABProc End Sub
Sub DisableTABProc()

Application.OnKey "{TAB}", ""

End Sub

当然,您需要为Personal.xls的Workbook_Close事件添加一些代码,在这种情况下,要卸载加载项:

Private Sub Workbook_Close()

AddIns("Big Add-in").Installed = False End Sub

如果您不希望使用宏,则始终可以将大型加载项从其目录位置移出,或者在启动Excel之前重命名该加载项。如果Excel无法找到该加载项,它将继续加载而不加载它。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2383)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: