Excel条件格式化工具的具体实现
3.1插件接口方法
当VB运行时,在Add-In菜单中装载组件以后,VB就会调用组件中IDTExtensibility对象中的OnConnection方法。在OnConnection方法里定义Application对象变量,并调用CommandBars.Add方法,就可在程序运行时加载工具栏。
在“引用”对话框中选择“Microsoft Office 8.0 Object library”复选框,可以通过“对象浏览器”访问并浏览各种命令条对象。
因为菜单和工具栏属于相同的对象库,它们都将通过CommandBarControl对象被引用。一个菜单条命令条可以包括几个菜单项,每个菜单项本身也是一个命令条,而且它又可以包括若干个菜单命令,每条命令依然是一个命令条。利用这种模式可以很容易地在开发环境中放置外接程序。
使用commandBars集合对象用外接程序来添加命令栏和控件。在OnConnection事件过程定义Application、commandbars对象变量,此过程创建新的命令条按钮,并返回对它的对象变量,并定义commandbar上按键的事件。
3.2 Excel插件的实现
3.2.1插件实现的功能
(1)在Excel中建立3列:姓名,平时,考试。并输入模拟数据。
(2)选择所有学生姓名单元;
(3)点击插件的按键,出现对话框。
(4)在其中输入格式化的条件(类似于Excel的公式,只是将相对单元
位置的表示方式,加了一个@符号。如:sum(@A1:@D1)>=4, 表示
将A1到D1单元的数据相加,判断其和是否大于等于4。相对的含义是:对当前单元而言,求和的是A1到D1。如果当前单元的行列加了1,则求和的将是B2到E2。(即,求和的单元相对于当前单元的偏移量不变)。本例中输入:B2*30/100+C2*70/100<60
(5)点击字体按键,选择字体、颜色等;
(6)点击填充按键,选择填充色和模式;
(7)点击“格式化”按键。
结 论
我们根据COM组件和Office插件编程原理开发了本软件,其中实现了对条件格式判断的功能。软件虽小,但基本上能够满足输入格式判断的功能。用户需要的条件各种各样,有的是单个单元内的数值比较、有的是多个单元内的综合比较,比较方式可以用公式表示。但输入界面中只能输入指定的字符串。如何根据字符串进行单元内容的计算这是这个软件实现的难点。经指导老师王老师的帮助和讲解后终于可以完成输入格式判断的功能。由于时间仓促软件中还存在一些可以改进的地方。如:选择单元时只能选择列。如果要选择行,则在公式输入时的@相对地址上就要相应变化。如果我们增加两个窗口按钮:一个行单元选择,一个列单元选择。这样就可以解决选择行比较时需要修改相对地址的问题。