Office开发须要的辅助工具

 

 Office开发主要包括两个层面:功能开发和界面开发。编程

  • 功能开发,指的是开发的产品可以解决哪些问题,其余人使用了你的工具改善了哪些方面。
  • 界面开发,指的是产品与用户交互的方式,或者说产品呈如今Office窗口中的哪一个场所。

通常来讲,一个成熟完善的Office插件、工具在开发的过程当中,都要考虑以上两个方面。函数

本帖和你们分享一下Office界面开发方面的话题。工具

Office编程开发,容许开发人员植入的元素主要有:学习

  • customUI(自定义功能区、Office菜单、右键菜单等)
  • CustomTaskpane(自定义任务窗格)
  • Commandbar和CommandbarControl(自定义工具栏、控件等)

除了以上3种,还可使用窗体和控件,这里所说的窗体指的是开发语言中的窗体,例如用VB.Net开发的插件,那就能够加入VB.Net的窗体和控件。测试

其中,customUI和CustomTaskpane用于Office 2007以上版本,实际效果以下图: 字体

 

 Commandbar和CommandbarControls可用于全部Office版本。此外,还用于VBA和VB6编程环境外接程序的开发中,由于VBA编程环境一直是工具栏/控件方式。ui

实际效果以下图:spa

 

 然而,这些定制技术都有必定的理论基础,customUI和Commandbar方面的知识体系很是庞大,须要长期研究学习才能掌握和理解。插件

CustomTaskpane的实现过程最为简单,也没什么太复杂的变化代码。设计

以上这些重要技术的原理和具体实现过程,你们能够看我写过的书、发布的视频课程、帖子等。

为了方便更多人学习,下面分享Office界面开发相关的重要工具。

customUI方面的工具

customUI是经过XML代码实现,例以下面的XML将会在Excel的 开始选项卡的 字体组左侧出现一个自定义组。

 1 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
 2     <ribbon startFromScratch="false">
 3         <tabs>
 4             <tab idMso="TabHome" label="Ribbon XML Editor">
 5                 <group id="Group1" label="测试" insertBeforeMso="GroupFont" >
 6                     <button id="Button1" label="蜘蛛网&#xA;" imageMso="ChartTypeOtherInsertGallery" onAction="Button1_Click" size="large" />
 7                 </group>
 8             </tab>
 9         </tabs>
10     </ribbon>
11 </customUI>

 

效果以下:

上述附件的下载地址: 

customUIDemo.rar

看了上面的效果,你们必定有以下疑问:

  1. XML代码是怎么写出来的?
  2. TabHome、GroupFont是哪儿来的?
  3. ChartTypeOtherInsertGallery从哪儿来的?
  4. Button1_Click起什么做用?

下面一一解释。

1. XML代码是微软规定好的语法格式,设计不一样场所的Office界面,写法也有所不一样。

 Ribbon XML Editor软件提供 快速访问工具栏、经常使用功能区等5个经常使用场所的XML模板。用户在此基础上稍做修改便可。

该软件还提供自动把XML压入Office文档、自动提取Office文档中的XML代码等功能。 

2. TabHome和GroupFont是Office的内置ID,叫作idMso。

 OfficeidMsoViewer软件提供Access/Excel/PowerPoint/Word的全部内置idMso查询,支持中文、英文、日文Office 2013。

点击任何一个节点,直接给出该节点对应的XML代码。

 

3. ChartTypeOtherInsertGallery是Office的一个内置图标,叫作imageMso。

 imageMso7345能够查询微软提供的7345个内置Office图标,下载这个工做簿,点击任何一个图标会给出该图标对应的imageMso字符串。

 

4. Button1_Click是按钮控件的回调函数名称,用来响应VBA中的过程。

Ribbon XML Editor软件能够根据XML生成 VBA、VB6/VB.Net/C#语言的回调函数。

 

Commandbar方面的工具

 在Excel 2003中,运行以下一段VBA代码,会在单元格右键添加一个“蜘蛛网”的自定义按钮。

 1 Sub AddControl()  2     Dim cmb As CommandBar, ct As CommandBarButton  3     Set cmb = Application.CommandBars("Cell")  4     Set ct = cmb.Controls.Add(Type:=msoControlButton, before:=1)  5     With ct  6         .BeginGroup = False
 7         .Caption = "蜘蛛网(&Z)"
 8         .Enabled = True
 9         .FaceId = 484
10         .Style = msoButtonIconAndCaption 11         .OnAction = "ct_Click"
12         .TooltipText = "提示语"
13         .BeginGroup = False
14         .Visible = True
15     End With
16 End Sub
17 Sub ct_Click() 18     ActiveCell.Value = Application.CommandBars.ActionControl.Caption 19 End Sub

实际效果以下图:

 

看到这个效果,通常会产生以下疑问:

Application.CommandBars("Cell")这个代码的Cell表明什么意思?

FaceId = 484,这个数字起什么做用?

回答以下:

Cell是Excel的一个内置工具栏的名称,CommandBars("Cell")表示单元格的右键菜单,右键菜单也属于工具栏的一个类型。

查询全部内置工具栏的工具备:

OfficeCommandbarViewer:该工具能够查看经常使用Office组件的全部内置工具栏和内置控件信息。

 OfficeCommandbarDesigner:能够从该软件中直接操做和控制Office的全部工具栏,能够查看工具栏和控件信息,也能够编辑。

 

使用以上工具,就能够轻松地知道每一个工具栏的名称叫什么了,从而在正确的场所设计本身的工具。

对于工具栏中控件的图标,微软采用FaceID来规定,每一个数字表明一个内置图标。

FaceIDViewer采用Excel工做簿制做的图标查看工具。

 每一个图标下面有一个数字,在代码中设置FaceID为这个数字就能够。

 以上讲过的全部工具,在个人博客园中都可下载到。下载网址你们自行搜索。

相关文章
相关标签/搜索