摘要 Excel是一个在各个领域中被广泛应用的电子表格软件。通过它,我们可以很好的组织管理数据,对数据进行统计分析等。在实际应用中,我们发现经常需要根据某种特定的条件,特殊显示部分数据。虽然这种功能可以通过Excel宏来实现,但每次编写类似的代码使人感觉跟不方便。Excel同其它Office组件一样,提供了通过插件进行功能扩展的可能。通过编写和安装插件,我们可以几乎任意地扩展Excel的功能,为我们的工作提供极大的便利。本文详细介绍了一个Excel条件格式化软件的设计和实现。该软件使用COM组件技术,根据Office插件的接口要求,设计了一个Excel的插件。该插件在Excel应用程序的窗口中增加一个工具栏,并在其上创建了一个按键,用于打开格式化设置窗口。软件可以对用户输入的、用字符串表达的判断条件进行计算,并根据计算结果,将满足条件的单元数据设置为用户选择的特殊格式(字体、颜色、字号、修饰等)
关键词:Excel插件;COM组件;接口 The Design and Implementation of the Conditionally Formatting Tool for Excel Abstract Excel is an electronic sheet software which is extensively used in various fields. By using it, we can organize and manage data, statistically analysis data easily. In practical applications, we need it usually need to specially show some data under certain conditions. This function can be achieved by using Excel macros. However,such a method is inconvenient in writing similar codes in each time. Excel, as long as other Microsoft Office softwares, povides a standard plug-in interface, also called add-in, to allow users to expand its functionalities. By writing addins for Excel, we can almost unlimitedly to expand its functionality and makes our work more easily and effectively. This paper introduces the design and implementation of an Excel conditional formatting addin, which is implemented by the COM component technique according to the interface requirements of Excel. The conditional formatting addin adds a new Toolbar into Excel, on which there is a button to be used to open the format setting dialog. The software can calculate the results of the condition expressions inputted by the user in the form of string, and according to the result, it sets the format of the cells matching the use-defined condition to special formats (font, color, font size and decoration) that was inputted by the user.
Key words: Excel Addin; COM Component; Interface
引言 我们生活的这个世界是丰富多彩的,几乎所有的知识都来自于视觉。也许无法记住一连串的数字,以及它们之间的关系和趋势。但是可以很轻松地记住一幅图画或者一个曲线。Excel就具有许多高级的制图功能,同时使用起来也非常方便。它不仅可以用来制作电子表格、完成许多复杂的数据运算,还可以进行数据的分析和预测。Excel文档是实际工作学习中最为常用的文档格式之一,为了增强Word、Excel等软件的自动化能力,人们开发了各种提高办公效率的软件,它们大多数实用、专业性强。为了避免用户做大量重复性的工作,提高Office办公效率,达到提高其实用功能的目的,可根据具体工作内容要求,编写出最具本地化、个性化、最合适的软件。
根据COM组件和Office插件编程原理开发了本软件,其中实现了对条件格式判断的功能。软件虽小,但基本上能够满足输入格式判断的功能。用户需要的条件各种各样,有的是单个单元内的数值比较、有的是多个单元内的综合比较,比较方式可以用公式表示。但输入界面中只能输入指定的字符串。如何根据字符串进行单元内容的计算这是这个软件实现的难点。
插件技术 插件是一类特殊的组件。它的目的不是为一般应用程序使用,而是专为特定的应用程序使用。插件一般在宿主应用程序上添加控制项,如菜单、工具按键等。插件响应宿主程序中对这些项目的操作,并对宿主程序中的数据进行特定操作。 插件是一种遵循一定规范的应用程序接口编写出来的程序。插件是一类特殊的组件。它的目的不是为一般应用程序使用,而是专为特定的应用程序使用。插件的本质是在不修改程序主体的情况下对软件功能进行加强,当插件的接口被公开时,任何公司或个人都可以自己制作插件来解决一些操作上的不便或增加一些功能。插件还可以支持多人合作开发,不同的功能可以由不同的人来完成,而且由于不同插件之间互不影响,方便程序的调试和纠错。插件一般在宿主应用程序上添加控制项,如菜单、工具按键等。插件响应宿主程序中对这些项目的操作,并对宿主程序中的数据进行特定操作。插件类型从广义的范围来看,插件有以下三种类型: 1.类似批命令的简单插件。事实上这种插件的自由度非常低。运行这种插件后,会一步步要求用户进行选择/输入,最后根据用户的输入来执行一系列事先定义好的操作。这种插件一般是文本文件。功能比较单一,可扩展性极小。优点是插件做起来非常方便,即使是对程序设计了解不多的人也可以制作。 2.使用一种特殊的脚本语言来实现的插件。这种插件比较难写,需要软件开发者自己制作一个程序解释内核。比如微软惹了很多麻烦的宏就是这种类型的。有一套著名的Office辅助工具就是完全用Office内置的VBScript写成的。这种方法的优点在于无需使用其它工具来制作插件,软件本身就可以实现,普遍出现于各种办公自动化软件中。 3.利用已有的程序开发环境来制作插件。例如PhotoShop等软件使用的方法。使用这种方法的软件在程序主体中建立了多个自定义的接口,使插件能够自由访问程序中的各种资源。这种插件的优势在于自由度极大,可以无限发挥插件开发者的创意,这种插件是狭义范围的插件,也是真正意义上的插件。而这种插件机制的编写相对复杂,对于插件接口之间的协调比较困难。
Excel插件实现的功能 (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)点击“格式化”按键。 目 录 1引言 1 2 COM组件的实现技术 1 2.1 COM组件技术 1 2.2 接口 2 2.3 插件技术 3 2.4 EXCEL对象模型 4 2.4.1 Excel对象模型的类以及之间的关系 4 2.4.2 使用Excel 5 (毕业设计) 2.4.3 引用Application对象 5 2.4.4 Application对象常用的属性、方法 6 2.4.5 使用工作薄 6 2.4.6 使用工作表 8 2.5 VB编写组件基本介绍 9 2.5.2 在VB中编写COM组件 9 3 EXCEL条件格式化工具的具体实现 12 3.1插件接口方法 12 3.2 EXCEL插件的实现 13 3.2.1插件实现的功能 13 3.2.2具体功能实现 13 参考文献 21 致 谢 22 声 明 23 |