打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
office2007不仅仅看上去很美
天以excel2007为例在博客上讨论了一下xlsx格式,今天继续讨论。此外,最近在officesoft版看到有人讨论了微软对于VBA的态度,这篇文章也顺便提一提。

我们知道在Office2007客户端的几个产品中,Word,Excel,PowerPoint的界面可以说是变化最大的:我们之前熟悉的菜单和工具栏不见了,取而代之的是"功能区"(英文为:Ribbon)

虽然,一开始总是觉得使用起来很奇怪,一些快捷的键盘操作都找不到了(Ribbon非常适合习惯用鼠标的用户,但喜欢用键盘的朋友就有些郁闷了)可还是要尊重产品组的研究成果,基于大量的统计数据可以得到如下结论:Ribbon使用户的使用速度得到了提高。

OK,言归正传,如果开发者希望在Ribbon中增加自己需要的选项卡呢?比如一个自动填表的按钮啊什么的。要怎么做呢?

Ribbon的自定义开发分为两种:

  1. 文档级别的自定义选项卡,也叫静态选项卡。这种自定义选项卡是绑定在一个特定的文档上的。比如,我们在"文档A"上创建了一个静态自定义的按钮,那么只有在打开文档A的时候,能看到这个按钮,而打开其他文档的时候,这个按钮不会出现。
  2. 应用程序级别的自定义选项卡,也叫动态选项卡。这种选项卡是通过Office插件加载上去的,安装了这个插件的计算机在打开Office程序的时候就可以使用这个选项卡,而不是像第一种,必须绑定在某个特定文档上。

这篇文章,先来介绍如何开发第一种选项卡。

以Word2007为例子:

1、首先,新建一个Word2007文档,在里面随便输入一些文字,并保存为"CustomRibbon.docx"。

2、关闭此文档,并将此文件名改为CustomRibbon.zip(新的Office文件格式均符合OpenXML的工业标准,其实就是一个zip包)

3、打开此zip包,创建一个新的文件夹叫CustomUI

4、在CustomUI文件夹里添加一个xml文件:LitwareRibbon.xml,这个文件用来说明新添加的选项卡的属性以及包括哪些控件。

此文件内容为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

<ribbon>

<tabs>

<tab id="LitwareTab" label="Litware" visible="1">

<group id="LitwareGroup" label="Litware Tools" visible="1">

<button id="buttonGenerateNumber" label="Generate Number" onAction="GenerateNumber"/>

</group>

</tab>

</tabs>

</ribbon>

</customUI>

可以看出来,这个XML定义了一个叫"Litware"的选项卡,其中有一个按钮叫Generate Number,点击时会触发一个"GenerateNumber"函数。

5、在[Content_Types].xml文件中的</Types>前添加一个element:

<Override PartName="/CustomUI/LitwareRibbon.xml" ContentType="application/xml"/>

6、在_rels文件夹下的.rels中的</RelationShips>前添加一个element:

<Relationship Id="rId8" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="CustomUI/LitwareRibbon.xml"/>

7、将这几个文件夹和文件重新打成一个zip包:CustomRibbon.zip

8、讲此zip包文件名改为CustomRibbon.docx

9、打开这个word文档,就可以看到新添加的这个选项卡了:

10、问题:如果需要在按下那个"Generate Number"按钮后执行一些操作怎么办?

答案:用VBA。

在Word2007中,默认的VBA编辑是关闭的,所以我们点击左上角的Office按钮,再选择其中的"Word选项",把"在功能区显示开发工具选项卡"前面的复选框挑上勾,确定后,就可以在Word的功能区中看到"开发工具"的选项卡。

11、将文档另存为"启用宏的Word文档",这时,此word文档的后缀会由docx变为docm。在Office2007中,后缀是x的文档将不会启用宏,而保护宏代码的文档都以m结尾。

12、点击"开发工具"选项卡,选择"Visual Basic"按钮,为此文档增加如下代码:

Public Sub GenerateNumber(control As Variant)

ActiveDocument.Range.InsertAfter
End Sub

保存并关闭。

13、点击"Litware"选项卡,再点击其中的"Generate Number"按钮,刚刚写好的这段VBA代码就开始执行了。

看来,新格式微软并没有抛弃VBA,:)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
自定义Ribbon
RibbonX API: 利用您自己的功能区选项卡和控件扩展 2007 Office Sy...
细品RibbonX(16):RibbonX开发基础问答
VSTO之旅系列(三):自定义Excel UI
Word厉害是种怎样的体验?追美女都会省力好多的呀……
Office小技巧-自定义Word功能区
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服