在制作自己的选项卡中,我们可以利用Office 2007 Custom UI Editor工具来帮助我们完成工作。但,如果您没有此工具,别担心,我们还可以利用WinRAR软件来达到我们的目的。
虽然,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 >
</tab>
</tabs>
</ribbon>
</customUI>
(注意:Insert Company Name按钮的OnAction代码执行名InsertCompanyName,必须与将要建立的RibbonSample.xlsm中的回调过程名一致。)
另存扩展名为XML的customUI.xml文件(注意:必须是此文件名)。
新建一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)
到此,我们的自定义选项卡就已经大功告成。
……