Excel VBA开发技术大全 第20章
更新时间:2023-11-05 02:12:01 阅读量: 综合文库 文档下载
- excel推荐度:
- 相关推荐
第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文件包含一对 (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=\ 在以上文件中,根据 由此可知工作表数据保存在worksheets文件夹下,文件名为sheet1.xml。 (6)打开“xl\\worksheets\\sheet1.xml”文件,其内容如下(为节省篇幅,以下代码中省略了重复的4~6行的数据): Type=\ips/worksheet\ Target=\ xmlns:r=\ships\ - - - - - 第20章 使用RibbonX - (此处省略工作表第4~6行的数据) - 以上XML代码中,元素 (7)在工作簿中,各工作表使用的字符串统一存放在“xl/sharedStrings.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标识为 分隔条如图20-4所示,用于提供组中控件可见的分隔垂直条。 分隔条控件的XML标识为 4.按钮 按钮如图20-5所示,这是最普通的控件。按钮可带有图标和标题,能接收用户的单击,并调用相应的VBA过程完成任务。如本章前面的例子中,就为按钮指定了一个VBA代码。 按钮控件的XML标识为 5.切换按钮 切换按钮如图20-5所示,是一个可单击项,每次单击时在按下和非按下之间切换,常 ·392 · 分隔条 标签 复选框 图20-4 标签、复选框和分隔条控件 第20章 使用RibbonX 用于组中以切换多个可能状态其中之一的属性,该组中每次仅一个按钮能被按下。 切换按钮控件的XML标识为 按钮 切换按钮 图20-5 按钮和切换按钮 6.编辑框 编辑框如图20-6所示,可接受用户的输入。 编辑框控件的XML标识为 下拉库列表如图20-7所示,是由一个下拉控件和一组其他控件组成的。库列表中可以包含不同类型的控件,是最灵活的UI控件之一。 编辑框 图20-6 编辑框 图20-7 下拉库列表 下拉库列表控件的XML标识为 为包含在组合框中的列表项。 列表项控件的XML标识为 20.2.2 容器控件 容器控件可以包含其他控件,通过嵌套容器控件在其他容器里,可以创建层次结构。常用的容器控件有以下几种。 1.选项卡 在Excel 2007中,功能区被分为多个选项卡,例如【开始】、【插入】选项卡等。 ·393· Excel VBA开发技术大全 选项卡的XML标识为 每个选项卡中又分多个组,例如【开始】选项卡中的【字体】、【对齐方式】等组,各组中包含不同的控件。 组的XML标识为 3.盒子控件 在功能区中,盒子控件没有任何外观,也就是说盒子控件不显示出来,主要用来控制其他按钮的布局。在盒子控件中可以包含任何其他类型的控件。如图20-8所示就是使用box控件将排序的三个按钮组合在一起。 盒子控件的XML标识为 4.按钮组控件 按钮组控件用来控制其他控件的布局,在相关控件之间带有边框和分隔条,如图20-9所示。 图20-8 盒子控件 图20-9 按钮组控件 按钮组控件的XML标识符为 5.复合框控件 复合框控件如图20-10所示,可以在该控件中输入内容,同时提供下拉列表供用户直接选择。下拉列表的内容是一组列表项目(为一组 复合框控件的XML标识为 6.菜单控件 功能区中的菜单控件是一种弹出式菜单,如图20-11所示。其组成元素由RibbonX文件定义。菜单可以包含按钮或其他菜单项,且允许创建层次菜单结构。 图20-10 复合框控件 图20-11 菜单控件 ·394 · 第20章 使用RibbonX 菜单控件的XML标识为 7.分离按钮控件 分离按钮控件由一个组合按钮和菜单或者切换按钮和菜单组成,如图20-12所示。单击按钮部分将执行默认的动作,而单击下拉箭头将显示相关选项并可进行选择。 分离按钮控件的XML标识为 8.下拉控件 下拉控件如图20-13所示,该控件与复合框控件类似。不同的是,在该容器中还可以包含 图20-12 分离按钮控件 图20-13 下拉控件 下拉控件的XML标识为 20.2.3 控件属性 每个控件都具有很多的属性,可在XML中使用这些属性修改控件的外观。下面列出控件的常用属性。 1.ID类属性 每个控件都必须有一个唯一的ID,由一个最多是1024个字符的字符串组成,ID属性分为以下3类: ? id:为自定义控件的ID; ? idMso:为内置控件的ID; ·395· Excel VBA开发技术大全 ? idQ:为标记 外观属性用来控制控件的可见性、标签、悬浮提示等信息,常用的有以下属性。 ? itemHeight:设置gallery控件中库项目的高度,以像素为单位; ? itemWidth:设置gallery控件中库项目的宽度,以像素为单位; ? itemSize:设置menu中项目的尺寸;可设置为normal和large,大项目不但显示描 述也显示标签; ? label:设置控件的标题; ? screentip:设置鼠标悬浮在控件上时显示的小提示; ? supertip:设置鼠标悬浮在控件上时显示的大提示; ? showLabel:设置是否显示控件标签,取值为True和false; ? size:设置控件的尺寸。可设置为normal和large,控件正常尺寸(normal)占用 一行,大尺寸(large)占用三行; ? title:设置菜单的标题文本,用于menu和menuSeparator控件; ? visible:设置控件是否可见,取值为True和false。 3.图像属性 带图像的控件可以使用自定义的图像,也可使用内置控件的图像。主要有以下属性: ? image:使用此属性设置自定义图像的名称; ? imageMso:使用此属性设置内置控件的名称,用来引用内置控件的图像; ? showImage:设置是否显示一个控件的图像,取值为True和false。 4.其他属性 除了上面介绍的控制控件外观、图像的属性外,常用的属性还有以下几种: ? boxStyle:设置在box控件中是水平排列图标(默认)或垂直排列图标,取值为 Horizontal或vertical; ? columns:设置gallery控件库中的列数; ? description:设置控件的长描述,当菜单的itemSize设置为大时显示在菜单中,用 于botton、toggleButton、splitButton、checkBox、menu、dynamicMenu、gallery等控件; ? enabled:设置控件是否有效,如果设为false,则该控件为灰色,不能操作; ? maxLength:设置editBox或comboBox控件文字输入的最大长度; ? keytip:设置访问控件的快捷键; ? rows:设置gallery控件库中的行数; ? showItemImage:设置在comboBox、dropDown或gallery控件中,是否在下拉列 表中显示图像; ? tag:为控件设置附加文本。 ·396 · 第20章 使用RibbonX 20.2.4 控件回调函数 在自定义RibbonX时,可在XML中通过控件的不同属性设置控件。但是,在更多的情况下,需要程序在运行时修改控件的属性。这时,可使用控件的回调函数。 在RibbonX中提供了回调函数功能,可在运行时动态修改控件的属性。每个控件可有多个回调函数,可分别动态修改控件的相应属性。设置回调函数属性以get字符开头,紧跟着相应的属性名。例如,要动态修改控件的label属性,则用属性getLabel设置回调函数。使用属性getItemImage设置的回调函数可在程序运行时修改控件的图像。 还有3个不是按这种方式命名的属性,也可用来设置回调函数。 ? onLoad:用在XML文件的最外层元素 时将调用该属性指定的回调函数。 ? onAction:当单击控件时,调用该属性指定的VBA过程,可应用到 ? onChange:当控件中的文本改变时,调用该属性指定的VBA过程,可应用到 例如,以下XML代码定义一个
正在阅读:
Excel VBA开发技术大全 第20章11-05
2015年黑龙江省绥化市中考语文试题及答案 - 图文01-15
计算机拆装实训报告09-07
关于开展超声介入技术的可行性报告03-17
作业03-06
开题报告03-09
脊椎动物习题07-11
中国各省省会及简介 朝代歌谣05-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 开发技术
- 大全
- Excel
- VBA
- 四川省峨眉山市2014届下学期初中九年级4月第二次调研考试数学试卷
- ArcGIS基本操作与数据表示
- 中国教育史复习题答案
- 中医临床路径8-内分泌科(消渴、消渴痹症、瘿病)
- 学校项目需求分析(25李奕辉 26谢思旗 27邓飞丁)
- 正文毕业设计(2) - 1 - - 图文
- NBU Catalog数据库的备份与恢复
- 香港朗文3B期末复习经典题库
- 公路养护安全作业规程 - 图文
- 做优雅人士:站立式餐会上须注意的六大礼仪
- 接触网 高级工练习题
- 信息奥赛 - 编程基础之逻辑表达式与条件分支
- 中铁十八局云桂铁路云南段项目经理部防洪安全管理制度
- 宿州市人民政府办公室关于印发宿州市人民政府重大行政决策公众参
- 中考完型练习Chapter 4 科普文化
- 20150416在高一年级全体教师会议上的讲话
- 重庆中考数学试卷(A卷)及答案word版本 - 图文
- 56外委协作管理规定(定稿)
- C复习资料
- 日语专业毕业生毕业论文选题范围参考