Excel COM 加载宏和自动化加载宏

您所在的位置:网站首页 excelcom加载项没有power Excel COM 加载宏和自动化加载宏

Excel COM 加载宏和自动化加载宏

2023-07-24 17:20| 来源: 网络整理| 查看: 265

详细信息 COM 加载项

COM 加载项提供开发人员提供一种方法来扩展 Office 应用程序的自定义任务的功能。COM 外接程序通常用于使 Excel 自动运行以响应单击命令栏按钮,窗体或对话框,或特定于 Excel 例如打开或关闭工作簿或工作表上输入数据的其他一些事件。从工作表中的单元格公式不能直接调用 COM 加载项的函数。

COM 加载项是必须实现IDTExensibility2接口在进程内 COM 服务器 (ActiveX DLL)。所有 COM 外接程序必须都实现此接口的五个方法的每个: OnConnection、 OnStartupComplete、 OnAddinsUpdate、 OnBeginShutDown和OnDisconnection。

COM 加载项安装时在用户的系统上,为外接程序创建注册表项。除了普通的 COM 注册,COM 加载项为注册在其中运行每个 Office 应用程序。Excel 将使用 COM 加载项在以下注册表项中注册:

HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\

此项包含有关每个已安装 COM 加载项的子项。该子项的名称是用于 COM 加载项的 ProgID。为 COM 加载项的子项还包含描述 COM 外接程序的友好名称、 说明和加载行为的值。加载行为描述外接程序加载方式在 Excel 中: 根据需要加载或未加载在启动时加载下, 一次启动时加载。

COM 加载项还可通过 Excel 的用户界面加载和卸载。若要执行此操作,请执行以下步骤:

在视图菜单中,指向工具栏,然后单击自定义。

在工具栏对话框中,单击高级选项卡。在类别列表中,选择工具。查找COM 加载项列表中的命令并将命令拖到菜单或您选择的命令栏。关闭工具栏对话框。

单击添加以显示COM 加载项对话框中的COM 外接程序命令。该对话框列出所有 COM 外接程序安装在您系统上,并选择当前加载 COM 加载。

COM 加载项可以同时加载和卸载通过 Excel 的用户界面。若要执行此操作,请执行以下步骤:

单击Microsoft Office 按钮,然后再单击Excel 选项

单击加载项

管理下单击COM 加载项,然后单击

COM 加载项对话框中列出所有 COM 外接程序安装到计算机上。选择 COM 外接程序当前已加载。

有关 COM 加载项的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

238228如何: 生成 Office 2000 在 COM 加载项在 Visual Basic 中

230689示例: Comaddin.exe Office 2000 在 COM 加载项编写 Visual C++

有关详细信息,请参阅下面的 Microsoft 网站:

办公室外接程序http://support.microsoft.com/ofd

自动化加载宏

除了 COM 加载宏,Excel 支持自动化加载宏自动化加载项生成在 COM 加载项,可以从 Excel 工作表中的公式调用自动化加载项函数。COM 外接程序必须支持IDTExtensibility2接口; 一个并行的进程内 COM 服务器但是,自动化加载项可以是进程内或进程外 COM 服务器并且IDTExtensibility2的实现是可选的。

若要在 Excel 中使用从自动化加载项函数,请执行以下步骤:

在工具菜单上,单击加载宏。

在加载项对话框中,单击自动。从已注册的 COM 服务器的列表中,选择自动化加载项并单击确定。

自动化加载项出现在加载项对话框中。单击确定以关闭加载项对话框。

若要在 Excel 2007 和更高版本,请使用从自动化加载项函数,请执行以下步骤:

单击Microsoft Office 按钮,然后再单击Excel 选项

单击加载项

管理下, 单击Excel 加载宏,然后单击转到

加载项对话框中,单击自动。在已注册的 COM 服务器的列表中,自动化外接程序,请单击,然后单击确定

自动化加载项出现在加载项对话框中。单击确定以关闭加载项对话框。

进行时添加到列表或加载项对话框中选择和清除列表中的加载宏时,Excel 会将所做的更改存储在注册表中。首先,则 Excel 将使用下面的注册表设置,以确定自动化加载项在加载项列表中加载:

Excel 2002Key: HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\OptionsString: OPENxSample Value: /A "ServerName.ClassName"

Excel 2003Key: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\OptionsString: OPENxSample Value: /A "ServerName.ClassName"Excel 2007Key: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\OptionsString: OPENxSample Value: /A "ServerName.ClassName"

注意: 更改 Office 版本数量取决于您正在使用的版本。

/A开关在字符串值中使用的是 Excel 的新和旧和专门用于加载自动化加载项。所有的自动化加载项加载到需求;没有任何设置可更改的自动化外接程序的加载行为。

自动化加载项在加载项对话框中列出的清除此项时,子项名称等于外接程序的进程 Id 与创建下面的注册表项中:

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in ManagerExcel 2003:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager 此注册表设置可确保即使在您已选择不加载这些自动化加载项已添加到加载宏列表保留在列表中。

有关自动化加载项的详细信息,请参阅下列文章 Microsoft 知识库中相应的文章:

285337如何: 为 Excel 工作表函数创建一个 Visual Basic 自动化加载项

有关详细信息,请参阅下面的 Microsoft 网站:

办公室外接程序http://support.microsoft.com/ofd

实现 IDTExtensibility2的自动化加载项

如前文所述,自动化加载项可能会实现IDTExtensibility2,但它不需要为了使 Excel 外接程序中调用这些函数,从工作表。如果您需要自动化外接程序获取对 Excel 实例的引用,可以实现IDTExtensibility2 ,并使用OnConnection的应用程序参数使 Excel 自动运行。

自动化加载项实现 IDTExtensibility2可在 Excel 用户界面通过COM 加载项对话框和添加项对话框进行加载。下面介绍的自动化加载项基于是否加载在一个或两个这些对话框的行为:

仅在加载项对话框中加载。

外接程序是按需加载的。从工作表中的公式可能会调用外接程序中的函数。

仅在COM 加载项对话框中加载。

外接程序加载为 COM 加载项并从注册表中的设置确定其加载行为。不能从工作表中的公式调用外接程序中的函数。

在COM 加载项对话框中,加载项对话框中加载。

加载的外接程序的两个不同实例。作为一个 COM 加载项加载一个实例并作为自动化加载项加载另一个实例。COM 外接程序实例使用; 在注册表中指定的加载行为按需加载的自动化外接程序实例。两个实例分别处理并且不共享全局变量。

因为自动化加载项按需加载,Excel 可能会尝试在单元格编辑模式时加载外接程序。因此,当您开发自动化加载项支持IDTExtensibility2,您应该小心,不要执行任何操作尝试更改 Excel 外接程序加载时的状态。有关详细信息,请参阅以下文章 Microsoft 知识库中相应的文章:

284876错误: 当自动化外接程序加载 Excel 无法正常工作

(c) Microsoft 公司 2001 年保留所有的权利。由罗晓东 B.旋转器,微软的份额。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3