《Excel 2013 Power Programming with VBA》部分章节译文

来源:互联网 发布:风风果实 数据 编辑:程序博客网 时间:2024/04/30 00:21

如何开发一款实用的工具?

Excel工具应当让用户可以更加方便高效的完成任务。但是,如果你正在为其他用户开发一些实用工具,那么如何使得Excel工具具有实用价值?下面列出的是我总结出来的一些实用工具所具有的一些共性:

  • 能为Excel添加新内容。添加的可能是一种新特性、或是将已有特性合并的方法、亦或是让已有特性更加易用的方法。
  • 具有通用性。理想情况下,一款工具应该在各种条件下都能灵活使用。当然,编写通用工具要比编写针对特定环境下的工具困难。
  • 具有灵活性。最好的工具是能提供许多不同的选项来处理各种状况。
  • 与Excel命令具有相似的外观、体验和操作方式。虽然开发者都有向工具中添加自己独有特性的冲动,但若新工具能具有与Excel命令和对话框相似的外观和操作方式,那么其他用户就能很容易上手。
  • 能在用户需要的时候提供帮助。也就是说,新工具应提供详尽的文档说明。
  • 能够捕获错误。最终用户决不应该接触到任何有关VBA的错误消息,而只能接触到开发人员编写的错误处理消息。
  • 用户可以撤消操作。如果用户使用新工具生成了不满意的结果,那么应该让他们可以返回之前的步骤。

实例剖析:Text Tools

在本节中,将介绍一款我开发且经常使用的Excel工具。这也是我的PowerUtility Pak的Excel加载项的一部分。Text Tools能让用户处理选中的单元格范围内的文本。具体来说,这个工具让用户可以执行以下操作:

  • 更改文本大小写(全部大写,全部小写,词首字母大写,句首字母大写,或词首字母大写其余小写)
  • 向文本中添加字符(在开头、结尾、或在指定的位置添加字符)。
  • 从文本中删除字符(从开头、末尾,或在字符串中指定的位置删除)。
  • 从文本中删除空格(所有空格或多余的空格)。
  • 从文本中删除字符(包括非打印字符、字母字符、数字字符、非字母字符、或者非数字字符)。

图14-1显示了Text Tools工具的对话框。

图14-1:使用文本工具改变选中的文本。

Text Tools工具可从本书的网站中获得。它是一个独立的工具,包含在Power Utility Pak中。文件名为tools.xlam,是一个标准的Excel插件。安装后将在功能区增加一个新命令:开始——工具——Text Tools。 这个VBA项目不含密码保护,因此可以检查其源代码,查看其工作方式,或是根据自身需要进行修改。

Text Tools的背景:

Excel含有许多工作表函数,可以有效的处理文本字符串。例如,可以将单元格中的文本转换为大写(UPPER函数)、向文本添加字符(CONCATENATE函数)、以及删除空格(TRIM函数)。但为了执行这些操作,需要完成一系列的工作,如编写公式、复制公式、将公式转换成对应的值、将值粘贴到原来的文本中。也就是说,在Excel中对文本的修改操作很麻烦。如果Excel中有一些无需公式的文本处理工具该多好?

顺便一提的是,很多优秀工具的创意最初都来自“如果……该多好?”这句话。

Text Tools的设计目标:

设计一款工具的第一步是明白这款工具需要完成什么样的任务。这里是我的最初的计划,即下面列出的目标:

  • 主要特性已在本节开头列出。
  • 让用户能够用这些特性对非文本单元格和文本单元格进行修改。
  • 与其他Excel命令具有相同的外观和用户体验。也就是说,其对话框与Excel对话框的外观相似。
  • 作为一个插件的形式完成,并可以从功能区访问。
  • 可以操作当前已选中的单元格(包括复选),并在对话框出现时让用户能够修改选中的范围。
  • 能够记住上次所用的操作,并在下一次调用对话框时显示这些设置。
  • 不影响包含公式的单元格。
  • 快速且高效。例如,用户选择一整列,该应用程序会自动的忽略所在列的空单元格。
  • 使用非模式对话框,让用户可以在屏幕上保留对话框,以便随时使用。
  • 结构设计紧凑,不会隐藏工作列表太多的内容。
  • 允许用户撤销操作。
  • 可提供全方位的帮助。

 

 


原创粉丝点击