Excel VBA开发技术大全 第20章

更新时间:2023-11-05 02:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第20章 使用RibbonX

对用户来说,操作界面是Excel 2007中改动最大之处。在Excel 2007中,使用RibbonX(功能区)代替了传统的菜单和工具栏。另外,Excel 2007采用Office Open XML文件格式保存工作簿。用户通过XML可直接访问工作簿中的内容,并可通过XML自定义RibbonX。

20.1 了解Office(2007)Open XML文件格式

Microsoft Office 2007引入了一种基于XML的新文件格式。这种新格式称为Microsoft Office Open XML Formats,适用于Word 2007、Excel 2007和PowerPoint 2007。

20.1.1 Office Open XML的优点

Office Open XML有许多优点,它不仅适用于开发人员及其构建的解决方案,而且适用于个人以及各种规模的组织。主要有以下优点:

1.压缩文件

Office Open XML文件会自动压缩,某些情况下最多可缩小75%。Office Open XML使用zip压缩技术来存储文档,由于这种格式可以减少存储文件所需的磁盘空间,并可以降低通过电子邮件、网络和Internet发送文件时所需的带宽,因而可能节省成本。在打开文件时,这种格式可以自动解压缩;而在保存文件时,这种格式又可以重新自动压缩。

2.改进了受损文件的恢复

使用Office Open XML格式保存的文档不是二进制格式,而是使用文本格式以一定的XML结构以模块形式进行组织,从而使文件中的不同数据组件彼此分隔。这样,即使文件中的某个组件(例如,图表或表格)受到损坏,文件本身还是可以打开。

3.易于检测到包含宏的文档

根据工作簿是否包含宏,在保存工作簿时文件的扩展名也有所不同。无宏的工作簿扩展名为“.xlsx”,包含宏的工作簿扩展名为“.xlsm”。这样,通过工作簿名称即可知道文件是否包含宏代码。

4.更好的隐私保护和更强有力的个人信息控制

可以采用保密方式共享文档,因为使用文档检查器可以轻松地识别和删除个人身份信

Excel VBA开发技术大全

息和业务敏感信息,例如,作者姓名、批注、修订和文件路径。

5.更好的业务数据集成性和互操作性

将Office Open XML作为Office 2007发布版产品集的数据互操作性框架意味着:文档、工作表、演示文稿和表单都可以采用XML文件格式保存,任何人都可免费使用该文件格式并获得该文件格式的许可证,而不必支付版权费。Office还支持客户定义的XML架构,用于增强现有Office文档类型的功能。这意味着客户在现有系统中可以轻松解除信息锁定,使用熟悉的Office程序对相应信息进行操作。在Office中创建的信息很容易由其他业务应用程序所采用。打开和编辑Office文件只需要一个ZIP实用工具和一个XML编辑器即可。

6.向后兼容性

Office Open XML是向后兼容的,它可以兼容早期的版本,例如Office 2000,Office XP和Office 2003。这些版本的用户下载一个免费的更新,即可在以前版本中打开Office 2007的文档。

20.1.2 Excel 2007 Open XML文件结构

下面通过对如图20-1所示的工作簿文件进行剖析,以使读者深入地了解Excel 2007 Open XML文件的结构。

Excel 2007 Open XML文件其实是一个zip文件。为了分析其结构,需要将其解压出来。因此,计算机系统中需要安装管理zip文件的软件(例如WinZip、WinRar等)。下面列出具体的步骤:

(1)将工作簿文件名“测试Excel2007文件结

图20-1 Excel 2007工作簿 构.xlsx”的后面添加一个“.zip”扩展名,修改为“测

试Excel2007文件结构.xlsx.zip”。

(2)接着当弹出如图20-2所示的警告信息,单击【是】按钮,完成文件名的修改。 (3)将上步更名的文件解压,得到如图20-3所示的文件目录结构。

图20-2 警告信息 图20-3 解压后的文件结构

·388 ·

第20章 使用RibbonX

(4)在解压后的文件夹中,最重要的文件是文件夹xl中的workbook.xml文件,该文件的代码如下:

-

-

workbook.xml文件包含一对标签,其中的每个元素都代表Excel 2007文件中的一个,工作表的名称就是其name属性的值,在上面的代码中,分别有3个工作表,即工作表1、工作表2和工作表3。元素中r:id属性的值指出保存工作表数据的XML文件。

(5)打开“xl/_rels/workbook.xml.rels”文件,其内容如下所示:

-

Type=\ips/worksheet\

Target=\

Type=\ips/worksheet\

Target=\

Type=\ips/worksheet\

Target=\

Type=\ips/sharedStrings\

Target=\

Type=\ips/styles\

·389·

Excel VBA开发技术大全

Target=\

Type=\ips/theme\

Target=\

在以上文件中,根据元素中r:id属性的值可得到工作表数据的XML文件。例如,在workbook.xml文件中名为工作表1的工作表的r:id属性为rld1,在以上文件中根据ID找到以下代码:

由此可知工作表数据保存在worksheets文件夹下,文件名为sheet1.xml。

(6)打开“xl\\worksheets\\sheet1.xml”文件,其内容如下(为节省篇幅,以下代码中省略了重复的4~6行的数据):

Type=\ips/worksheet\

Target=\

xmlns:r=\ships\

-

- '工作表数据 -

- 0 '字符串的位置索引

- 1

-

第20章 使用RibbonX

2

- 3500 '值为35000

(此处省略工作表第4~6行的数据)

-

以上XML代码中,元素表示该行中的一个单元格,对于单元格中的值,如果元素有“t”属性的话,元素的子元素的值就是各工作表共享的字符串的索引。否则,元素的值就是该单元格的值。

(7)在工作簿中,各工作表使用的字符串统一存放在“xl/sharedStrings.xml”文件中,该文件的内容如下:

-

商品名称

-

单价

-

三星手机

-

诺基亚手机

-

摩托罗拉手机

每组字符串使用元素表示,其排列顺序就是其序号,表示工作表数据的XML文件用该序号来引用字符串。

·391·

Excel VBA开发技术大全

20.2 RibbonX控件简介

在Excel 2007中,提供了一千七百多个RibbonX控件。不能使用VBA代码从功能区中添加或删除RibbonX控件,只能通过编写XML代码来完成定制RibbonX的工作,且必须将该XML代码包含到工作簿文件中,以达到定制RibbonX的目的。

使用XML代码可描述RibbonX,指定控件出现的位置、外观、激活时的动作等。 RibbonX通过回调过程与VBA进行接口,可以在VBA中编写回调过程,以使RibbonX中的控件完成不同的功能。

在本书第1章中介绍了RibbonX的基本组成,本节将从开发人员的角度介绍RibbonX的各种控件。

20.2.1 基本控件

基本控件可以添加到自定义组中或者可以包含在其他容器控件中。常用的基本控件有以下几种。

1.标签

标签控件如图20-4所示。与用户窗体中的标签控件类似,RibbonX中的标签控件只作为文字提示信息使用,不响应用户的动作。

标签控件的XML标识为

2.复选框

复选框如图20-4所示,可通过单击来切换状态,常用于控制一个UI控件是否可见。 复选框控件的XML标识为。 3.分隔条

分隔条如图20-4所示,用于提供组中控件可见的分隔垂直条。

分隔条控件的XML标识为

4.按钮

按钮如图20-5所示,这是最普通的控件。按钮可带有图标和标题,能接收用户的单击,并调用相应的VBA过程完成任务。如本章前面的例子中,就为按钮指定了一个VBA代码。

按钮控件的XML标识为

Top