虽然,Excel2007自带的Excel 2007 开发人员参考帮助中也有介绍到此方法,却不是在Excel里可以直接应用的,且不够详尽,在此,我将制作过程拆解,一一为您奉上。
Step1:
建立一文本文件,写入下列XML代码:
customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
ribbon
tabs
tab id="CustomTab" label="My Tab"
group id="SampleGroup" label="Company Name"
button id="Button" label="Insert Company Name" size="large"/
/group
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)/tab
/tabs
/ribbon
/customUI
(注意:Insert Company Name按钮的OnAction代码执行名InsertCompanyName,必须与将要建立的RibbonSample.xlsm中的回调过程名一致。)
另存扩展名为XML的customUI.xml文件(注意:必须是此文件名)。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)新建一customUI文件夹,将此文件放入customUI文件夹里(注意:必须是此文件夹名)。
Step2:
新建一xlsm(启用宏)文件,命名为RibbonSample.xlsm
插入一标准模块,写入下列代码:(如图1所示)
Sub InsertCompanyName(ByVal control As IRibbonControl)
Dim MyText As String
If TypeName(Selection) "Range" Then Exit Sub
MyText = "Microsoft Corporation"
Selection.Value = MyText
End Sub
(图1)
关闭并保存此工作簿。
Step3:
将RibbonSample.xlsm 重命名为 RibbonSample.xlsm.zip 文件。
双击此zip文件(无需关闭zip文件),我们会看到zip容器中包含一名为_rels的文件夹(如图2所示),将此文件夹解压缩到桌面上。
(图2)
以记事本打开方式,打开桌面上_rels文件夹中的.rels XML文件。
内容如下:
?xml version="1.0" encoding="UTF-8" standalone="yes"?
Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"//Relationships
为了和此前建立的customUI.xml文件建立联系,将如下XML语句,
Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" /
(注意,ID可以是任意的,但不能重复。Target就是先前我们建立的customUI文件夹和文件。)
插入到/Relationships之前:
?xml version="1.0" encoding="UTF-8" standalone="yes"?
Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/
Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" /
/Relationships
退出并保存此XML文件。
将此_rels文件夹(包含刚修改的.rels文件)替换zip文件容器中的_rels文件夹。
Step4:
将前面已经准备好的customUI文件夹,放入此zip容器(如图3所示)。
(图3)
关闭zip文件,将其改名为原来的RibbonSample.xlsm文件名。
Step5:
双击打开RibbonSample.xlsm文件,启用宏,我们将在功能区(RibbonX)用户界面中看到一个My Tab的自定义选项卡(如图4所示)。
单击该选项卡,我们会看到一个带有按钮控件的Company Name的组。
单击Inset Company Name按钮,可在选定的单元格中插入Microsoft Corporation字样。
(图4)
到此,我们的自定义选项卡就已经大功告成。