
示例加载项
接下来,演示如何创建一个加载项,在Excel里使用库控件快速地应用图案填充。
RibbonX
我们将使用RibbonX代码开始。如果不熟悉RibbonX,那么简要的解释是RibbonX是定义Ribbon外观的XML。在这里,RibbonX将定义想要放置库的位置,以及在该库中的项目(包括图片)。关于RibbonX的更多信息,请参见本站中的相关技术文章。
我们将创建的RibbonX驻留在该文档中,必须使用工具获取文档中的RibbonX。本例中使用的工具是“Office 2007 Custom UI Editor”,具体介绍请参见《定制Excel 2007功能区的工具和资源》。
下载并安装该工具后,打开前面所下载的“PatternUI.xlam”文档,将看到下图所示的界面:
要创建这段XML,在UI编辑器里使用“插入图片”命令开始并选择以前已创建的每个图案填充的图片。要确保命名这些文件,与对象模型里的图案的索引值相匹配。
一旦添加了图标,然后在Ribbon XML里输入指定的图表选项卡(ChartToolsFormat)和组名(Patterns)。在功能区里的Patterns(图案)组里,指定包括在库里的项目,与之前已添加的图标一致。这里选择库的大小为8列和7行。
这是一段XML,重复Gallery(库)的所有54个元素:
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui“>
<ribbon>
<contextualTabs>
<tabSet idMso=”TabSetChartTools” >
<tab idMso=”TabChartToolsFormat” >
<group id=”customGroup” label=”Patterns” insertAfterMso=”GroupShapeStyles”>
<gallery id=”PatternGallery” image=”Pattern54″ size =”large” columns=”8″ rows=”7″ onAction=”InsertPattern” >
<item id=”Pattern1″ image=”Pattern1″/>
<item id=”Pattern2″ image=”Pattern2″/>
<item id=”Pattern3″ image=”Pattern3″/>
.
.
.
在输入所有的Ribbon XML之后,使用UI编辑器中的“产生回调(Generate Callbacks)”命令,会产生下面的回调:
这个回调可以被输入到VBE中的模块里。
VBA代码
在VBA的代码模块里,只需要添加2行代码到回调中。第1行是一个非常简单的错误检查,避免万一企图使用库来应用格式而选择无效的对象时产生的错误。第2行是与上面输入到立即窗口里相同的命令。在本实例中,Patterned方法的参数是“index+1”。Index是返回的库的索引。索引值基于0,因此使用“+1”来确保库索引值与图案索引值相匹配。
‘Callback for PatternGallery onAction
Sub InsertPattern(control As IRibbonControl, id As String, index As Integer)
On Error Resume Next
Selection.Fill.Patterned (index + 1)
End Sub
完成该加载项
最后一步是使用“另存为”命令作为一个加载项保存该文件。
最后的成果
定义RibbonX和VBA代码之后,打开该加载项。选择一个图表后,在“图表工具”的“格式”选项卡中的“Pattens”组里显示图案下拉表。要使用某图案,则先选择一个图表系列或数据点,然后单击其中的一个库项目。
声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!
第1页 | 第2页时间:2008-4-10 9:29:23,点击:0
上一篇:用VSTO给Excel2007添加自定义任务窗格【声明】:以上文章或资料除注明为Office吧自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,联系邮箱:thinkou@126.com,本站确认后将立即撤下。谢谢您的支持与理解!
相关评论