Excel VBA开发技术大全 第20章Word文档下载推荐.docx
- 文档编号:6798273
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:39
- 大小:884.95KB
Excel VBA开发技术大全 第20章Word文档下载推荐.docx
《Excel VBA开发技术大全 第20章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Excel VBA开发技术大全 第20章Word文档下载推荐.docx(39页珍藏版)》请在冰点文库上搜索。
(1)将工作簿文件名“测试Excel2007文件结构.xlsx”的后面添加一个“.zip”扩展名,修改为“测试Excel2007文件结构.xlsx.zip”。
(2)接着当弹出如图20-2所示的警告信息,单击【是】按钮,完成文件名的修改。
(3)将上步更名的文件解压,得到如图20-3所示的文件目录结构。
图20-2警告信息图20-3解压后的文件结构
(4)在解压后的文件夹中,最重要的文件是文件夹xl中的workbook.xml文件,该文件的代码如下:
<
?
xmlversion="
1.0"
encoding="
UTF-8"
standalone="
yes"
?
>
-<
workbookxmlns="
http:
//schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:
r="
//schemas.openxmlformats.org/officeDocument/2006/
relationships"
fileVersionappName="
xl"
lastEdited="
4"
lowestEdited="
rupBuild=
"
4505"
/>
<
workbookPrdefaultThemeVersion="
124226"
bookViews>
workbookViewxWindow="
480"
yWindow="
15"
windowWidth="
8670"
window
Height="
5070"
/bookViews>
sheets>
sheetname="
工作表1"
sheetId="
1"
r:
id="
rId1"
工作表2"
2"
rId2"
Sheet3"
3"
rId3"
/sheets>
calcPrcalcId="
125725"
/workbook>
workbook.xml文件包含一对<
标签,其中的每个<
sheet>
元素都代表Excel2007文件中的一个,工作表的名称就是其name属性的值,在上面的代码中,分别有3个工作表,即工作表1、工作表2和工作表3。
<
元素中r:
id属性的值指出保存工作表数据的XML文件。
(5)打开“xl/_rels/workbook.xml.rels”文件,其内容如下所示:
Relationshipsxmlns="
//schemas.openxmlformats.org/package/2006/relationships"
RelationshipId="
Type="
//schemas.openxmlformats.org/officeDocument/2006/relationsh-ips/worksheet"
Target="
worksheets/sheet3.xml"
worksheets/sheet2.xml"
worksheets/sheet1.xml"
rId6"
//schemas.openxmlformats.org/officeDocument/2006/relationsh-ips/sharedStrings"
sharedStrings.xml"
rId5"
//schemas.openxmlformats.org/officeDocument/2006/relationsh-ips/styles"
styles.xml"
rId4"
//schemas.openxmlformats.org/officeDocument/2006/relationsh-ips/theme"
theme/theme1.xml"
/Relationships>
在以上文件中,根据<
id属性的值可得到工作表数据的XML文件。
例如,在workbook.xml文件中名为工作表1的工作表的r:
id属性为rld1,在以上文件中根据ID找到以下代码:
由此可知工作表数据保存在worksheets文件夹下,文件名为sheet1.xml。
(6)打开“xl\worksheets\sheet1.xml”文件,其内容如下(为节省篇幅,以下代码中省略了重复的4~6行的数据):
worksheetxmlns="
//schemas.openxmlformats.org/officeDocument/2006/relationships"
dimensionref="
A1:
B6"
'
工作表数据范围
sheetViews>
sheetViewtabSelected="
workbookViewId="
0"
selectionactiveCell="
D12"
sqref="
/sheetView>
/sheetViews>
sheetFormatPrdefaultRowHeight="
13.5"
cols>
colmin="
max="
width="
13"
bestFit="
customWidth="
/cols>
sheetData>
'
工作表数据
rowr="
spans="
1:
第1行数据
cr="
A1"
s="
5"
B1"
/row>
ht="
14.25"
'
第2行数据
A2"
t="
s"
单元格A2的值,字符型
v>
0<
/v>
'
字符串的位置索引
/c>
B2"
单元格B2的值,字符型
1<
第3行数据
A3"
2<
B3"
'
单元格B3的值
3500<
值为35000
(此处省略工作表第4~6行的数据)
/sheetData>
mergeCellscount="
mergeCellref="
'
合并单元格
/mergeCells>
phoneticPrfontId="
type="
noConversion"
pageMarginsleft="
0.7"
right="
top="
0.75"
bottom="
header="
0.3"
footer="
/worksheet>
以上XML代码中,元素<
c>
表示该行中的一个单元格,对于单元格中的值,如果<
元素有“t”属性的话,<
元素的子元素<
的值就是各工作表共享的字符串的索引。
否则,<
元素的值就是该单元格的值。
(7)在工作簿中,各工作表使用的字符串统一存放在“xl/sharedStrings.xml”文件中,该文件的内容如下:
sstxmlns="
//schemas.openxmlformats.org/spreadsheetml/2006/main"
count="
6"
uniqueCount="
si>
t>
商品名称<
/t>
/si>
单价<
三星手机<
诺基亚手机<
摩托罗拉手机<
/sst>
每组字符串使用元素<
表示,其排列顺序就是其序号,表示工作表数据的XML文件用该序号来引用字符串。
20.2RibbonX控件简介
在Excel2007中,提供了一千七百多个RibbonX控件。
不能使用VBA代码从功能区中添加或删除RibbonX控件,只能通过编写XML代码来完成定制RibbonX的工作,且必须将该XML代码包含到工作簿文件中,以达到定制RibbonX的目的。
使用XML代码可描述RibbonX,指定控件出现的位置、外观、激活时的动作等。
RibbonX通过回调过程与VBA进行接口,可以在VBA中编写回调过程,以使RibbonX中的控件完成不同的功能。
在本书第1章中介绍了RibbonX的基本组成,本节将从开发人员的角度介绍RibbonX的各种控件。
20.2.1基本控件
基本控件可以添加到自定义组中或者可以包含在其他容器控件中。
常用的基本控件有以下几种。
1.标签
标签控件如图20-4所示。
与用户窗体中的标签控件类似,RibbonX中的标签控件只作为文字提示信息使用,不响应用户的动作。
标签控件的XML标识为<
labelcontrol>
。
2.复选框
复选框如图20-4所示,可通过单击来切换状态,常用于控制一个UI控件是否可见。
复选框控件的XML标识为<
checkbox>
3.分隔条
分隔条如图20-4所示,用于提供组中控件可见的分隔垂直条。
分隔条控件的XML标识为<
separator>
图20-4标签、复选框和分隔条控件
4.按钮
按钮如图20-5所示,这是最普通的控件。
按钮可带有图标和标题,能接收用户的单击,并调用相应的VBA过程完成任务。
如本章前面的例子中,就为按钮指定了一个VBA代码。
按钮控件的XML标识为<
button>
5.切换按钮
切换按钮如图20-5所示,是一个可单击项,每次单击时在按下和非按下之间切换,常用于组中以切换多个可能状态其中之一的属性,该组中每次仅一个按钮能被按下。
切换按钮控件的XML标识为<
toggleButton>
图20-5按钮和切换按钮
6.编辑框
编辑框如图20-6所示,可接受用户的输入。
编辑框控件的XML标识为<
editBox>
7.下拉库列表
下拉库列表如图20-7所示,是由一个下拉控件和一组其他控件组成的。
库列表中可以包含不同类型的控件,是最灵活的UI控件之一。
图20-6编辑框图20-7下拉库列表
下拉库列表控件的XML标识为<
gallery>
8.列表项
为包含在组合框中的列表项。
列表项控件的XML标识为<
item>
20.2.2容器控件
容器控件可以包含其他控件,通过嵌套容器控件在其他容器里,可以创建层次结构。
常用的容器控件有以下几种。
1.选项卡
在Excel2007中,功能区被分为多个选项卡,例如【开始】、【插入】选项卡等。
选项卡的XML标识为<
tab>
2.组
每个选项卡中又分多个组,例如【开始】选项卡中的【字体】、【对齐方式】等组,各组中包含不同的控件。
组的XML标识为<
group>
3.盒子控件
在功能区中,盒子控件没有任何外观,也就是说盒子控件不显示出来,主要用来控制其他按钮的布局。
在盒子控件中可以包含任何其他类型的控件。
如图20-8所示就是使用box控件将排序的三个按钮组合在一起。
盒子控件的XML标识为<
box>
可将其他任意控件放在该容器内。
4.按钮组控件
按钮组控件用来控制其他控件的布局,在相关控件之间带有边框和分隔条,如图20-9所示。
图20-8盒子控件图20-9按钮组控件
按钮组控件的XML标识符为<
buttonGroup>
可将<
、<
menu>
splitButton>
等控件放在该容器中。
5.复合框控件
复合框控件如图20-10所示,可以在该控件中输入内容,同时提供下拉列表供用户直接选择。
下拉列表的内容是一组列表项目(为一组<
控件)。
复合框控件的XML标识为<
comboBox>
6.菜单控件
功能区中的菜单控件是一种弹出式菜单,如图20-11所示。
其组成元素由RibbonX文件定义。
菜单可以包含按钮或其他菜单项,且允许创建层次菜单结构。
图20-10复合框控件图20-11菜单控件
菜单控件的XML标识为<
在该容器中可以包含<
Menu>
等控件。
7.分离按钮控件
分离按钮控件由一个组合按钮和菜单或者切换按钮和菜单组成,如图20-12所示。
单击按钮部分将执行默认的动作,而单击下拉箭头将显示相关选项并可进行选择。
分离按钮控件的XML标识为<
该容器可以包含<
定义该控件的代码结构如下:
splitButton...>
button.../>
menu...>
菜单内容
/menu>
/splitButton>
8.下拉控件
下拉控件如图20-13所示,该控件与复合框控件类似。
不同的是,在该容器中还可以包含<
控件。
图20-12分离按钮控件图20-13下拉控件
下拉控件的XML标识为<
dropDown>
在该容器中可包含<
和<
20.2.3控件属性
每个控件都具有很多的属性,可在XML中使用这些属性修改控件的外观。
下面列出控件的常用属性。
1.ID类属性
每个控件都必须有一个唯一的ID,由一个最多是1024个字符的字符串组成,ID属性分为以下3类:
❑id:
为自定义控件的ID;
❑idMso:
为内置控件的ID;
❑idQ:
为标记<
的ID。
2.外观属性
外观属性用来控制控件的可见性、标签、悬浮提示等信息,常用的有以下属性。
❑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:
为控件设置附加文本。
20.2.4控件回调函数
在自定义RibbonX时,可在XML中通过控件的不同属性设置控件。
但是,在更多的情况下,需要程序在运行时修改控件的属性。
这时,可使用控件的回调函数。
在RibbonX中提供了回调函数功能,可在运行时动态修改控件的属性。
每个控件可有多个回调函数,可分别动态修改控件的相应属性。
设置回调函数属性以get字符开头,紧跟着相应的属性名。
例如,要动态修改控件的label属性,则用属性getLabel设置回调函数。
使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Excel VBA开发技术大全 第20章 VBA 开发 技术 大全 20