欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

入门:Excel2007中的COM加载项

程序员文章站 2022-03-04 19:28:40
下面的内容介绍了Excel2007中COM加载项的一些改变。介绍Excel很好地做了一些涉及到向后兼容的工作。在Excel 2000、Excel XP(2002)或...
下面的内容介绍了Excel2007中COM加载项的一些改变。
介绍
Excel很好地做了一些涉及到向后兼容的工作。在Excel 2000、Excel XP(2002)或Excel 2003中创建的COM加载项(CAI)不需要修改就应该能在Excel 2007中正常运行。然而,在开发应用于不同的Excel版本中的CAIs时,应该记住一些事项。
菜单和命令栏
Excel 2007修改了传统的界面,使用功能区(Ribbon)界面替换了菜单和命令栏控制结构。根据选择可以采用不同的面板组(面板是一组具有相关功能的按钮,在下图1中,选择“开始”,将显示7个面板组:剪贴板、字体、对齐方式、数字、样式、单元格、编辑,在开发阶段,面板(panels)称作chunks,不知道这些对象现在是否有正式的名称)。如果选择“开始”,将看到一组面板;如果单击“插入”,则会出现另一组面板。 入门:Excel2007中的COM加载项
这对CAI开发意味着什么呢?意味着创建命令栏、命令栏控件或菜单项的CAI中的任何代码都不再按预料的工作。仅仅可以通过Excel 2007文件格式(xlsx或xlsm)里的Excel文件来定制功能区,在Excel 2007文件格式中包含必需的XML代码用于修改功能区。(一个Excel 2007的xlsx或xlsm文件事实上是包含大约20个文本XML数据文件的Zip文件,其中一个文件用于修改功能区。)Excel 2003文件格式(xls)、XLA加载宏、COM加载项都不能修改功能区。所有的定制,无论是在Excel 2003中已有的命令栏中的新菜单项、控件,还是新的命令栏,都将显示在功能区“加载项”中的菜单命令或自定义工具栏命令面板组中。这将混淆各加载项的命令元素。下图2为功能区“加载项”视图: 入门:Excel2007中的COM加载项
在Excel 2003和以前的版本中,可能会放置一些菜单项在“工具”菜单中、其它的在“视图”菜单中、以及“数据”菜单中,可能放置菜单项和命令栏按钮在合乎逻辑的位置。在Excel 2007中,所有的定制都被放置在加载项视图中的“菜单命令”和“工具栏命令”面板组中。
加载项
关于COM加载项的联接信息,为Excel指出了可用的CAI,它们存放在系统注册表的两个位置中的其中一个:
HKEY_CURRENT_USER\Software\Microsoft\office\Excel\AddIns (HKCU) 或
HKEY_LOCAL_MacHINE\Software\Microsoft\Office\Excel\AddIns (HKLM)。
在Excel 2003和早期版本中,仅仅配置在HKCU中的CAIs显示在COM加载项对话框中,这避免某用户禁用在本机上为所有用户使用的CAI。在Excel 2003和早期版本中,用户仅能装载或卸载配置在HKCU中的CAIs,不能够装载或卸载配置在HKLM中的CAI。
在Excel 2007中,所有的加载项都配置在
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\AddIns 或HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Excel\AddIns
在COM加载项对话框中是可见的,这意味着单个的用户可以禁用或卸载本机上所有用户使用的CAIs。