1.4 Excel应用程序开发流程
在进行Excel应用程序二次开发时,没有既简单又可靠的方法。使用成熟的程序开发方法,可提高开发效率。下面参照Visual Basic开发应用程序时的一些方法列出Excel应用程序开发的一般流程。
1.4.1 需求分析
在进行Excel应用程序开发时,首先需要准确了解用户的需求。这步工作做不好,后续工作都会受到很大影响。如果开始时对用户的需求理解出现了偏差,最严重的情况是终止已有的工作,一切又得从头开始。
需求分析的任务不是确定应用程序怎样做的问题,而是确定需要完成哪些工作的问题。需求分析阶段的主要任务如下。
• 功能需求:给出应用程序必须完成的所有功能。
• 环境需求:用户的计算机硬件环境、软件环境和Excel的版本等。
• 界面需求:应用程序的用户界面是直接面对用户的,界面设计是用户能否方便、快捷地操作应用程序的关键之一。在需求分析阶段,应提出界面的需求。
• 安全保密需求:对客户信息的保密要求应在本阶段进行计划。
• 用户技术层次:在需求分析阶段,了解用户的技术层次,可为应用程序的开发提供一些辅助信息。
1.4.2 界面设计
一个良好的应用程序必须有一个良好的界面。用户通过界面与应用程序进行交互。开发人员在设计界面时,一定要牢牢把握方便用户操作这一观点,并贯穿到设计界面中。
与以往版本不同的是,在Excel 2010中取消了菜单和工具栏(以往版本设计的工具栏和菜单将放在“加载项”功能区的“自定义工具栏”和“自定义菜单栏”组中)。在Excel 2010中进行界面设计的方式主要有以下3种。
1.在工作表中添加控件
在比较简单的应用程序(只需要调用少数几个宏过程)中,可向工作表中添加按钮或其他控件,然后与宏过程进行绑定即可,如图1-2所示为在工作表中制作的一个“读者意见卡”。
图1-2 工作表中添加控件
2.用户窗体
用户界面是应用程序的一个重要组成部分。在Excel的应用程序中,用户窗体作为应用程序的用户界面部分,将用户的操作和Excel工作表中的数据隔离开。如图1-3所示为设计好的用户窗体。
图1-3 用户窗体
3.自定义功能区
功能区是从Excel 2007起新增加的组件(在Excel 2010中也同样使用功能区),取代了以往版本的菜单和工具栏,可使用XML代码自定义功能区。如图1-4所示。
图1-4 自定义功能区
1.4.3 代码设计
将用户界面设计好以后,接下来就需要编写界面中各部分的事件代码(如用户窗体中的按钮、功能区中的按钮等)。
在Excel中设计VBA应用程序时,界面设计和代码设计一般是交替进行的,即设计好一个界面后就编写相应的代码。有时也可先录制修改好宏代码,再和工作表或用户窗体中的按钮进行绑定。本书后面的章节都是介绍界面设计和代码设计知识的,这是应用程序的核心部分。
1.4.4 帮助系统
在Windows应用程序中提供了在线电子文档的帮助系统,Excel也可以制作这种帮助系统。对于小型应用系统,一般不提供帮助系统。但对于一个大型应用系统,提供一个好的帮助系统可让用户更快地理解系统,更快地熟悉系统的功能。
1.4.5 系统测试
在创建了应用程序之后,必须对其进行测试,这是非常重要的一个步骤。测试和调试应用程序所花费的时间可能与开发系统的时间同样多。
对于一个完成开发的应用程序,在设计测试数据时,应尽可能多地考虑到各种不同的情况:不但要使用正常的合乎逻辑的数据去测试应用程序的功能性,还应使用一些可能导致应用程序出错的数据去测试应用程序的健壮性。
在设计测试数据的同时应编写出测试数据的结果,并与应用程序进行实测时得到的数据进行对比,如果结果相同,则通过测试;否则,应检查并修改应用程序。
1.4.6 应用程序发布
通过测试后的应用程序就可以发布给最终用户使用了。在发布时需要注意以下3个问题。
• Excel版本:如果是在Excel 2010环境下开发的应用程序,并使用了Excel 2010的一些新功能(如自定义功能区),就要求用户使用Excel 2010。如果用户使用Excel 2010之前的版本,则需要将使用Excel 2010新功能部分的代码进行修改,并发布为以往的版本。
• 动态链接库:如果应用程序中使用了ActiveX控件,则需要考虑是否要将包含该ActiveX控件的DLL文件(或OCX文件)包含在应用程序中予以发布。
• 辅助文件:在一个大型的应用程序中,不可能只包括一个Excel工作簿文件,有时可能还需要使用其他辅助文件(如图片文件、数据库文件和帮助文件等),需要将这些文件包括在发布文件中,并且最好将其发布到其他盘符中进行测试,以检查在VBA代码中是否使用了绝对路径来引用相关的文件。