针对开发人员的 Office 2010 Backstage 视图介绍

**摘要:**Microsoft Office 2010 引入了 Microsoft Office Backstage 视图、Office Fluent 用户界面的最新创新以及功能区的辅助功能。查看构成 Backstage 的各个组件,并探讨说明您如何在各种 Office 应用程序之间扩展 Backstage 的方案。(42 页)

上次修改时间: 2015年4月24日

Microsoft 图标Microsoft Corporation 的 Frank Rice

2010 年 4 月

适用范围: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

内容

  • Microsoft Office 2010 Fluent Backstage 视图介绍

  • Backstage 视图术语词汇表

  • Backstage 视图的组件

  • Backstage 视图扩展性

  • 使用 Open XML 文件自定义 Backstage 用户界面

  • 通过创建共享 COM 加载项来自定义 Backstage 视图

  • 常见问题解答

  • Backstage 视图控件的说明、属性和子信息

  • 结论

  • 其他资源

Microsoft Office 2010 Fluent Backstage 视图介绍

在 2007 版本的 Microsoft Office system 中,通过单击 Office 按钮可显示 Office 菜单,并可从该菜单访问文件级功能。

在 Microsoft Office 2010 中,Office 按钮由"文件"选项卡替代。通过单击"文件"选项卡,可进入 Microsoft Office Backstage 视图。Backstage 视图可帮助您发现和使用功能区中编写功能之外的功能。功能区、浮动工具栏和库都可帮助您在文档中执行相关操作;Backstage 视图可帮助您处理 文档。

开发人员可以对 Backstage 视图进行完全扩展,从而允许组织自定义用户界面 (UI) 以满足其需求。Backstage UI 最大的优点在于,可使用相同的文件、回调和功能区中使用的许多控件来对它进行自定义。这意味着,已熟练掌握自定义功能区 UI 的技术的开发人员可以使用这些技术来创建可满足其组织需求的 Backstage UI。

Backstage UI 包含在支持 Office Fluent UI 的所有 Microsoft Office 2010 应用程序中:Microsoft Access 2010、Microsoft Excel 2010、Microsoft InfoPath 2010、Microsoft OneNote 2010、Microsoft PowerPoint 2010、Microsoft Project 2010、Microsoft Publisher 2010、Microsoft SharePoint Designer 2010、Microsoft Visio 2010 和 Microsoft Word 2010。以下各节描述新 UI 的结构,并介绍实现您自己的自定义 Backstage UI 所需的详细信息。

Backstage 视图术语词汇表

下面列出了本文中使用的常见术语:

  • Backstage 视图 一个公开活动文档的文件级功能的全屏用户界面模型,它是 Microsoft Office Fluent 用户界面的一部分,后者替换了先前由分层菜单、工具栏和任务窗格构成的系统。

  • 最终命令 一类可使您从 Backstage 视图返回到文档的命令。调用最终命令时将关闭 Backstage 视图。以下是此类命令的一些示例:"保存"、"另存为"和"打印"。

  • 快速命令 一类位于左侧导航栏中的命令,可使用此命令快速访问常见功能。以下是此类命令的一些示例:"保存"、"另存为"和"关闭"。

  • 选项卡 Backstage 视图中的范围限定于某个特定任务的页面。此 Backstage 视图包含一组顶级选项卡。第一个(最顶部)的选项卡为默认选项卡。如果未指定位置,则在导航栏最底部的所有现有选项卡和快速命令的下方添加自定义选项卡。Backstage 视图中最多允许有 255 个选项卡。

  • 用于按组在 Backstage 选项卡内组织相关功能的 UI 容器。

Backstage 视图的组件

在本节中,您将查看 Backstage 视图的组件。如图 1 所示,您在启动 Office 2010 应用程序后看到的第一个项是新的"文件"选项卡,此选项卡替代了 Office 按钮。单击"文件"选项卡可显示 Backstage 视图。也可以按 Alt+F 键打开 Backstage 视图。

图 1. 新的"文件"选项卡

Microsoft Office 按钮

Backstage 的左侧是一个包含快速命令(如"保存"和"打开")和选项卡(如"信息"和"最近")的导航栏,如图 2 所示。

图 2. Backstage 视图

导航选项卡

快速命令提供对未与选项卡显式关联的常用任务的访问。

选项卡将与某个常见任务相关的功能组合在一起,然后将这些功能分发到一个组集中的一个或两个列(如"兼容模式"和"权限")中。

Backstage 视图扩展性

Backstage 视图不仅为用户提供了针对文档属性、创建和输出功能的改进体验,并且 IT 部门和第三方开发人员可通过连接到它来提供自定义文档管理功能。有几种针对 Backstage 视图扩展性的典型情况:

  • 解决方案提供商希望向 Backstage 视图添加业务线数据:

    • 解决方案提供商可能希望创建一个全新的选项卡以显示与活动文件相关的大量信息。

    • 解决方案提供商可能希望向现有选项卡(特别是"信息"选项卡)添加一个组,以便突出显示信息。

  • 解决方案提供商可能希望在 Backstage 视图中显示新功能:

    • 解决方案提供商可能希望创建侧重于此自定义功能的新选项卡(如垃圾邮件管理)。

    • 解决方案提供商可能希望向现有选项卡添加自定义功能,因为该选项卡是新功能的逻辑主页;或者将它用作快速命令,因为所涉及的功能将被频繁使用且可由单个按钮表示。

熟悉功能区 UI 扩展性的开发人员应能很好地适应 Backstage 视图扩展性,因为它基本上使用的是相同的文件和结构。使用 XML 可向 Backstage 视图添加组件,使用回调过程可将功能与这些组件关联。

备注

有关功能区扩展性的详细信息,请参阅标题为Customizing the 2007 Office Fluent Ribbon for Developers的系列文章(共三个部分)。

通过 XML 定义自定义 Backstage 视图内容和结构

与功能区 UI 一样,通过使用 XML 标记来定义 Backstage 视图的结构和组件。下面的示例显示了一个 XML 标记文件的一般格式,此文件自定义 Word 2010 中的 Backstage 视图。以下各节更详细地描述了此标记。此标记产生自定义的 Backstage 视图,如图 3 所示。

图 3. 此示例中构建的自定义 Backstage 选项卡

自定义选项卡区

备注

还包含用于修改功能区 UI 的 XML,以表明它可与 Backstage 视图标记在同一 XML 文件中共存

<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
  <backstage>    
   <tab id="testArea" insertAfterMso="TabInfo" label="Sample Scenarios" columnWidthPercent="30" >
      <firstColumn>
         <group id="grpOne" label="Group One" helperText="This is helper text for Group One">
            <primaryItem>
               <button id="firstButton" label="Primary Button" onAction="SampleCallback" />
            </primaryItem>
      <topItems>
            <layoutContainer id="layoutOne" layoutChildren="vertical">
               <editBox id="firstEBox" label="Sample Edit Box"  text="This is sample text" alignLabel="topRight" />
               <button id="sampleButton" label="Sample Definitive Button" isDefinitive="true" imageMso="FileDocumentInspect" />
            </layoutContainer>
      </topItems>
         </group>
         <group id="grpTwo" label="Group Two" visible="true" >
             <primaryItem>
                <menu id="menuOne" label="DropDown Menu">
                   <menuGroup id="menuGrpOne" >
                      <button id="btnOne"  label="Button one" />
                      <button id="btnTwo" label="Button two" />
                      <checkBox id="chkBoxOne" label="Sample Check Box" />
                   </menuGroup>
                </menu>
     </primaryItem>
             <topItems>
                <editBox id="secondEBox" text="Disabled Edit Box"  enabled="false"/>
                <imageControl id="imgControlOne" imageMso="BlogHomePage"/>
                <groupBox id="grpBox" label="Group Box with Check Boxes and Radio Group">
                   <checkBox id="chkBox1" label="A Check Box" />
                   <checkBox id="chkBox2" label="Disabled Check Box" enabled="false" />
                   <radioGroup id="rdoGrp" label="Nested Radio Group" >
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                      </radioGroup>
                </groupBox>
             </topItems>
          </group>
      </firstColumn>
      <secondColumn>
         <group id="grpThree" label="Group Three" visible="true">
            <topItems>
               <comboBox id="firstCBox" label="Sample Combo Box" >
                  <item id="itema" label="Cat"/>
                  <item id="itemb" label="Dog"/>
                  <item id="itemc" label="Fish"/>
               </comboBox>
               <layoutContainer id="layoutTwo" layoutChildren="vertical">
                  <editBox id="thirdEBox" label="Part of vertical layout" />
                  <editBox id="fourthEBox" label="Part of vertical layout" />
                  <editBox id="fifthEBox" label="Part of vertical layout" />
               </layoutContainer>
               <layoutContainer id="layoutThree" layoutChildren="horizontal">
                  <button id="anotherButton" label="Horizontal layout" imageMso="NewAppointment" />
                  <hyperlink id="hyperLink" label="You can place a link here"/>
                  <button id="lastButton" label="Horizontal layout" />
               </layoutContainer>
            </topItems>
          </group>
      </secondColumn>
   </tab>
</backstage>

<backstage> 元素分隔了 Backstage UI 的自定义结构。从等级上说,<backstage> 元素是 <customUI> 元素内允许的四个顶级元素之一。位于同一级别的其他三个允许的元素为 <ribbon>、<contextMenus> 和 <commands>。

在 <backstage> 元素内,可以承载快速命令(由 <button> 元素表示)和 <tabs>;在此示例中,Backstage 包含一个 <tab> 元素。<tab> 元素包含多个属性,如下所示:

  • id 选项卡的标识符。

  • insertAfterMso 应在其后插入自定义选项卡的内置选项卡的标识符。在此示例中,在"信息"选项卡后添加自定义选项卡。

  • label 选项卡上显示的文本;在此示例中,选项卡的标签为"Sample Scenarios"(示例方案)。

  • columnWidthPercent 指定选项卡式区域中第一列的宽度(以百分比为单位)。由于两个列的总宽度为 100%,因此如果第一个列的宽度设置为总宽度的 30%,则第二个列的宽度为总宽度的 70%。

标记该选项卡并将其置于内置"信息"选项卡的后面。

备注

Microsoft Office Fluent UI XML 自定义标记中的所有属性都使用 Camel 大小写格式约定,此约定将每个单词的第一个字符大写,但第一个单词除外,示例包括 onAction 和 insertBeforeMso。

每个 <tab> 元素可以具有一个或两个列;在此示例中,自定义"Sample Scenarios"(示例方案)选项卡包含两个列。此外,每个列可以承载多个 <group> 元素;在此示例中,第一个列中有两个组(分别标记为"Group One"(组一)和"Group Two"(组二)),第二个列中有一个组("Group Three"(组三))。<group> 元素还允许多个属性,下面仅列出其中的少数几个属性:id、label、visible、enabled 和 helperText。

备注

可以在下文中找到包含控件元素和关联的属性、元素子级和其他信息的列表。

从概念上说,自定义 Backstage 组与功能区组类似,但需要注意两个不同之处。与功能区组的第一个不同之处是,Backstage 组不需要将其内容置于刚好(最多)三个行中;在此示例中,有多个不同的 <layoutContainer> 元素,这些元素提供了结构和丰富的布局功能,但未设置三行限制。此元素包含一个 layoutChildren 属性,允许您指定它包含的子对象的方向是水平的还是垂直的。与功能区组的第二个不同之处是,Backstage 组可以包含一个可选的 <primaryItem> 元素,此元素可以是 <button> 或 <menu>。<primaryItem> 为组提供了一个焦点中心,它可以是一个按钮(如"Group One"(组一)中的主按钮)或菜单(如"Group Two"(组二)中的下拉菜单)。

看一下示例中的 <button> 元素,此元素包含的属性之一为 isDefinitive。在将此属性设置为 true 时,通过单击按钮触发其回调,然后通过关闭 Backstage 视图返回文档。通过浏览 XML 的其余部分,会发现随各种属性一起定义了多个组件。生成的自定义选项卡的外观与图 3 类似。

使用回调添加功能

查看示例中前面的内容,您会发现,在单击按钮时,将触发 onAction 属性中指向的回调子例程。下面的示例演示可能从按钮触发的简单回调。

Sub SampleCallback(ByVal control As IRibbonControl)
   MsgBox "You clicked the " & control.Id & " button. "
End Sub

在此实例中,当调用过程时,Microsoft Office 会传入一个表示调用控件的 IRibbonControl 对象。此 IRibbonControl 对象的属性包括 Id 和 Tag 属性。如代码中所示,Id 属性允许您从不同的控件调用同一过程。所有回调过程都采用 IRibbonControl 对象,并且还可以包含其他属性(如切换按钮的已按下状态)。

以下几节演示通过修改 Open XML 格式文件以在文档级别自定义 Backstage 视图的步骤和通过使用在 Microsoft Visual Studio 的托管代码中创建的 COM 加载项以在应用程序级别自定义 Backstage 视图的步骤。对于在文档级别自定义 Backstage 视图的过程,可以使用上一节中所述的 XML。COM 加载项使用不同的 XML 来修改 Backstage 视图。

使用 Open XML 文件自定义 Backstage 用户界面

使用 XML 标记在文档级别自定义 Microsoft Office Fluent UI 的过程包含下列步骤。可以使用上一节中所述的 XML 标记,按照这些步骤执行操作。

备注

虽然您应了解 Office Open XML 文件结构的内部情况,但您也可以绕过这些步骤。您可以利用 Office 2007 自定义 UI 编辑器(该链接可能指向英文页面)。此工具允许您打开一个文档、插入自定义 UI(包含面向 Office 2007 或 Office 2010 的部分),然后将此文档与 XML 标记一起保存。此工具将为您执行此示例中列出的步骤,另外,它使您能够向 customUI 文件夹添加自定义图标,并使这些图标易于引用。

使用 Open XML 格式文件定义 Backstage 视图内容和结构

  1. 在桌面上创建一个名为"customUI"的文件夹。

  2. 通过编写 XML 标记(此标记可向 Microsoft Office Fluent UI 添加新组件、修改现有组件或隐藏组件)在任何文本编辑器中创建自定义文件。使用本文中前面给出的示例中的 XML 标记。在创建的文件夹中,将该文件另存为 customUI14.xml。

  3. 针对自定义 Microsoft Office Fluent UI 架构验证 XML 标记(可选)。

  4. 在 Microsoft Word 2010 中创建一个文档,然后将此文档另存为启用 Open XML 宏的扩展名为 .docm 的文件。若要添加在用户与 Microsoft Office Fluent UI 自定义进行交互时做出响应的代码,则必须以启用宏的格式保存此文档。

  5. 退出 Word。

  6. 在 Microsoft Windows 资源管理器中,向文档文件名添加文件扩展名 .zip,然后双击此文件以将其作为压缩文件夹打开。

  7. 通过将"customUI"文件夹从桌面拖动到压缩文件夹,向容器添加自定义文件。

  8. 将"_rels"文件夹从 .zip 文件夹拖动到桌面。桌面上将显示一个名为"_rels"的文件夹,其中包含".rels"文件。

  9. 打开新的文件夹,然后在文本编辑器中打开".rels"文件。

  10. 在最后一个 <Relationship> 元素和结束 <Relationships> 元素之间,添加一个代码,此代码可在文档文件和自定义文件之间创建关系,如下面的示例所示。确保指定正确的文件夹和文件名(Id 属性为 customUI 文件提供唯一的关系 ID — 任意的唯一 ID 值均可)。

    <Relationship Type="https://schemas.microsoft.com/office/2010/relationships/ui/extensibility" Target="/customUI/customUI14.xml" 
      Id="customUIRelID" />
    
  11. 保存".rels"文件,然后将它拖动到"_rels"文件夹的压缩文件中,以替换现有的".rels"文件。

  12. 移除 .zip 扩展名,然后打开该文档。

添加对工作簿的回调以提供 Backstage 视图功能

  1. 单击"开发工具"选项卡,然后单击"Visual Basic"。

    备注

    如果未看到"开发工具"选项卡,则必须设置此选项。若要在应用程序中执行此操作,请依次单击 Microsoft Office 按钮、"选项"和"功能区",然后在"排列选项卡上的命令"框中选择"开发工具"选项。这是一个全局设置,它在实现 Microsoft Office Fluent UI 的所有 Office 应用程序中将您标识为开发人员。

  2. 在 Visual Basic 编辑器中,双击"ThisDocument"打开代码窗口。

  3. 键入 VBA 函数,如下面的示例所示。

    Sub SampleCallback(ByVal control As IRibbonControl)
       MsgBox "You clicked the " & control.Id & " button. "
    End Sub
    
  4. 保存该文档,然后关闭 Visual Basic 编辑器。

  5. 单击 Microsoft Office 按钮,然后单击"Sample Scenarios"(示例方案)选项卡。

  6. 单击标记为"Primary Button"(主按钮)的按钮。图 4 显示了相应的对话框。

    图 4. 在单击主按钮后显示此对话框

    单击主要按钮后的对话框

通过创建共享 COM 加载项来自定义 Backstage 视图

您也可以使用 COM 加载项来更改 Microsoft Office Fluent UI。当您决定创建结合了 UI 自定义并使用了托管代码的 COM 加载项时,您有两种选择。您可以使用 Microsoft Visual Studio 2008 附带的"共享的外接程序"模板创建标准 COM 加载项。或者,如果已安装 Microsoft Visual Studio 2005 Tools for Office Second Edition,则可以创建 COM 加载项,此加载项相对于标准共享加载项有一些优势。

其中一个优势是,使用 Microsoft Visual Studio 2005 Tools for Office Second Edition 创建的加载项将在单独的应用程序域中运行,这些加载项的编程模型比共享加载项模板使用的编程模型更简单且可维护性更高。有关详细信息,请参阅将共享加载项迁移到 Visual Studio 2005 Tools for the Office System SE 加载项(该链接可能指向英文页面)

但在下列步骤中,您将使用标准共享加载项创建托管 Microsoft Word COM 加载项。有关如何使用共享 COM 加载项和使用 Microsoft Visual Studio 2005 Tools for Office Second Edition 创建自定义 Microsoft Office Fluent UI 的详细信息,请参阅标题为为开发人员自定义 2007 Office Fluent 功能区(第 1 部分,共 3 部分)(该链接可能指向英文页面)一文。

COM 加载项将创建自定义 Backstage 选项卡,如图 5 所示。

图 5. 自定义 Backstage 视图选项卡演示与控件相关的几项技术

具有示例控件的 Backstage 视图

通过生成共享 COM 加载项来更改 Microsoft Office Fluent UI

  1. 启动 Microsoft Visual Studio 2008。

  2. 在"文件"菜单上,指向"新建",然后单击"项目"。

  3. 在"新建项目"对话框的"项目类型"窗格中,展开"其他项目类型",单击"扩展性",然后选择"共享的外接程序"。

  4. 在"名称"框中,键入 BackStageCOMAddin,然后单击"确定"创建项目。

  5. 在"共享外接程序向导"的第一页上,单击"下一步"。

  6. 在"选择编程语言"页上,选择"Visual C#"或"Visual Basic",然后单击"下一步"。

  7. 在"选择应用程序主机"页上,清除除"Microsoft Word"之外的所有选择,然后单击"下一步"。

  8. 在"输入名称和说明"页上,键入 BackStageCOMAddin 作为名称,并键入"更新 Word Backstage 视图"作为说明,然后单击"下一步"。

  9. 在"选择外接程序选项"页上,选择"我希望在加载主机应用程序的同时加载我的外接程序",单击"下一步",然后单击"完成"。

Visual Studio 创建一个新的解决方案,此解决方案包含两个项目,即外接程序本身和一个安装项目。(此安装项目使您能够在其他用户的计算机上安装外接程序,并使您在设计时更易于安装和卸载外接程序。)

若要与 Word 2010 和 Microsoft Office Fluent UI 对象模型进行交互,您必须具有对类型库的引用,如下所示。

添加对类型库的引用

  1. 在"解决方案资源管理器"中,展开"引用"文件夹。如果未看到"引用"文件夹,请在"项目"菜单上单击"显示所有文件"。

  2. 删除"Microsoft.Office.Core"引用。

  3. 右键单击"引用"文件夹,然后单击"添加引用"。

  4. 单击"COM"选项卡,选择"Microsoft Office 14.0 对象库",然后单击"确定"。

  5. 在代码屏幕的顶部添加语句,如下面的示例所示。

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word
    
    using Office = Microsoft.Office.Core;
    using Word = Microsoft.Office.Interop.Word;
    

创建 XML 自定义文件

  1. 在"项目"菜单上单击"添加新项"。

  2. 在"添加新项"对话框中,选择"XML 文件"。将新文件命名为 customUI14.xml,然后单击"添加"。

  3. 在新的 XML 文件中添加 XML 标记,如下面的示例所示。

    <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
      <backstage>
        <tab id="testArea" label="Sample Scenarios" columnWidthPercent="30" insertAfterMso="TabInfo" visible="true" >
          <firstColumn>
            <group id="grpOne" label="Group One">
              <primaryItem>
                <button id="btnSimToggleButton" label="Simulate Toggle Button" getImage="toggleImage" onAction="simToggleButton"/>
              </primaryItem>
              <topItems>
                 <layoutContainer id="layoutOne" layoutChildren="vertical">
                    <editBox id="eboxTextTarget" label="Text From Button"  getText="getToggledText" alignLabel="topRight" />
                    <button id="btnInsertText2Doc" label="Insert Text Into Document" isDefinitive="true" onAction="insertText2Doc"/>
                    <editBox id="eboxTextSource" label="Gets Inserted into Document" text="Hello World" onChange="getInsertText"/>
                 </layoutContainer>
              </topItems>
            </group>
            <group id="grpTwo" label="Group Two" getVisible="getInitGroupVisibility" >
              <primaryItem>
                <menu id="menuOne" label="Drop Down Menu">
                  <menuGroup id="menuGrpOne" >
                    <button id="btnShowEditBox"  getLabel="getHideShowEBoxLabel" onAction="showHideEditBox"/>
                    <button id="menuButtonTwo" label="Swap Images" onAction="SwapImages"/>
                    <checkBox id="chkEnableDisableEBox" getLabel="switchChkBoxLabel" onAction="chkEnable"/>
                  </menuGroup>
                </menu>
              </primaryItem>
              <topItems>
                 <editBox id="eboxEnabledDisabled" text="Hello World"  getEnabled="getEBoxEnabledState"/>
                 <editBox id="eboxShownHidden" text="See me now?" getVisible="getEBoxVisibility"/>
                 <imageControl id="imgControlOne" getImage="getControlImage"/>
                 <groupBox id="grpBox" label="Group Box">
                    <checkBox id="chkBox1" getLabel="getChkBox1Label" onAction="grpChkBox1Action"/>
                    <checkBox id="chkBox2" getLabel="getChkBox2Label" onAction="grpChkBox2Action"/>
                    <radioGroup id="rdoGrp" label="Nested Radio Group"  getEnabled="getrdoEnableByChkBox" onAction="radioGrpAction">
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                    </radioGroup>
                 </groupBox>
                 <editBox id="eboxVisiblebyChkBox" text="See me" getVisible="getEBoxVisibleByChkBox"/>
              </topItems>
            </group>
          </firstColumn>
          <secondColumn>
            <group id="grpThree" label="Group Three" visible="true">
              <topItems>
                 <layoutContainer id="layoutTwo" layoutChildren="vertical">
                    <comboBox id="cboPopulateBox" label="Populate Edit Box" onChange="populateEBox">
                      <item id="item1" label="one"/>
                      <item id="item2" label="two"/>
                      <item id="item3" label="three"/>
                    </comboBox>
                    <editBox id="eboxPopulate" getLabel="getEBoxLabel" getText="getCBOXText"/>
                 </layoutContainer>
                 <layoutContainer id="layoutThree" layoutChildren="vertical">
                    <button id="btnHideGroup" getLabel="getHideGroupBtnLabel" onAction="hideGroup"/>
                 </layoutContainer>
              </topItems>
            </group>
          </secondColumn>
        </tab>
      </backstage>
    </customUI>
    
  4. 保存并关闭该文件。

在将 XML 文件视为项目的资源文件中的一项资源时,使用它最为轻松。

将 XML 文件添加为项目资源

  1. 在解决方案资源管理器中,选择"customUI14.xml"。

  2. 在属性窗口中,选择"生成操作"属性,然后在选项列表中选择"嵌入的资源"。

  3. 在"项目"菜单上,单击"BackStageCOMAddin 属性"。

  4. 单击"资源"选项卡。

  5. 从解决方案资源管理器中,将"customUI14.xml"拖动到"资源"设计图面上。

    此操作将创建一个基于新文件的资源,其中包含 XML 内容。从现在开始,customUI.xml 文件将自动存储为应用程序资源,您可以使用 Visual Basic 或 Visual C# 语言功能检索该内容。

  6. 关闭"资源"窗口。当系统提示您时,请单击"是"保存资源对话框。

访问主机应用程序并使用 Backstage 视图

  1. 在解决方案资源管理器中,右键单击"Connect.cs"或"Connect.vb",然后单击"查看代码"。

  2. 查找 applicationObject 变量的现有声明,并对其进行相应更改,使其引用 Word.Application 对象。即对声明进行相应更改,使其看上去与下面的示例中显示的内容一样。

    Private applicationObject As Word.Application
    
    private Word.Application applicationObject;
    
  3. 更改 OnConnection 方法中的现有行,此方法可创建 Word.Application 对象的实例。

    applicationObject = DirectCast(application, Word.Application)
    
    applicationObject =(Word.Application)application;
    
  4. **(仅针对 Visual Basic)**更改类顶部附近的代码行(以 Implements 开头),这将添加对实现 IRibbonExtensibility 命名空间的支持,如下面的示例所示,然后按 Enter。Visual Basic 将自动插入 GetCustomUI 过程。

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. **(仅针对 C#)**在 public class Connect : 语句的结尾处,添加一个逗号,然后键入接口名称,如下面的示例所示。

    IRibbonExtensibility
    
  6. **(仅针对 C#)**右键单击已添加的接口,再单击"实现接口",然后单击"显式实现接口"。这将添加针对唯一的 IRibbonExtensibility 接口成员 GetCustomUI 的存根过程。

  7. 更改 GetCustomUI 方法,使其看上去与下面的示例显示的内容类似。

    Public Function GetCustomUI(ByVal RibbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
       Return OutSpaceCOMAddin.My.Resources.customUI14
    End Function
    
    string IRibbonExtensibility.GetCustomUI(string RibbonID)
    {
      return SpecStatusResource.customUI14;
    }
    
    重要说明重要说明

    实现 GetCustomUI 可为用户界面自定义返回 XML 字符串,但不应将它用于初始化。具体而言,不应尝试在 GetCustomUI 实现中显示任何对话框或消息窗口。在 OnConnection 方法(针对共享外接程序)或 ThisAddIn_Startup 方法(针对使用 Microsoft Visual Studio 2005 Tools for Office Second Edition 创建的外接程序)中执行初始化更为可取。

  8. 向类添加下面的方法。此方法在加载功能区 UI 时被调用,并且它会先创建引用功能区 UI 的变量,然后再重新绘制功能区。

    Private myRibbon As Office.IRibbonUI
    Sub OnLoad(ByVal ribbon As Office.IRibbonUI)
       myRibbon = ribbon
       myRibbon.Invalidate()
    End Sub
    
    IRibbonUI myRibbon;
    public void OnLoad(IRibbonUI ribbon)
    {
       myRibbon = ribbon;
       myRibbon.Invalidate();
    }
    

常见问题解答

以下是有关 Backstage 视图的常见问题解答。

  • 我最多可以向 Backstage 视图添加多少个自定义选项卡?
    选项卡的最大数目为 255。

  • 是否可以指定添加选项卡的位置?
    您可以指定是在现有选项卡之前还是之后显示自定义选项卡。

  • 是否可以对现有选项卡进行重新排序?
    您不能对现有选项卡进行重新排序。您只能通过在一个选项卡之前或之后插入另一个选项卡来指定选项卡的相对顺序。

  • 是否可以修改现有选项卡的列布局?
    您无法修改未创建的任何现有选项卡的列布局。

  • 可以向哪个位置添加组?
    您可以向现有选项卡的任何列添加新组,也可以指定是将新组显示在现有组之前还是之后。存在一个限制,即无法向包含 taskFormGroup 的选项卡(如"共享"选项卡)添加多个组。

  • 是否可以对现有组进行重新排序?
    您无法对现有组进行重新排序。您只能为创建的新组指定相对顺序。

  • 在向 Microsoft Office 应用程序添加多个可修改 Backstage 的 COM 加载项时,我如何获知实现这些加载项的顺序?
    存在冲突的修改之间的优先顺序是最后加载的修改优先。

Backstage 视图控件的说明、属性和子信息

以下 XML 引用包含有关作为 Backstage 视图的一部分包含的控件的详细信息。

Backstage

表示 <backstage> 元素

属性

类型

回调签名

onShow

回调

VBA:Sub OnShow(contextObject As Object)

C#:void OnShow(object contextObject)

Visual Basic:Sub OnShow(contextObject As Object)

C++:HRESULT OnShow([in] Object *pContextObject)

onHide

回调

VBA:Sub OnHide(contextObject As Object)

C#:void OnHide(object contextObject)

Visual Basic:Sub OnHide(contextObject As Object)

C++:HRESULT OnHide([in] Object *pContextObject)

子级:tab、button

按钮

表示按钮控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

*expand

字符串

不适用

*layout

字符串

不适用

tag

字符串

不适用

*insertAfterMso

内置名称(字符串)

不适用

*insertBeforeMso

内置名称(字符串)

不适用

*insertAfterQ

限定名(字符串)

不适用

*insertBeforeQ

限定名(字符串)

不适用

*description

字符串

不适用

*getDescription

回调

VBA:Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#:string GetDescription(IRibbonControl control)

Visual Basic:Function GetDescription(control As IRibbonControl) As String

C++:HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

字符串

不适用

*getScreentip

回调

VBA:Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#:string GetScreentip(IRibbonControl control)

Visual Basic:Function GetScreentip(control As IRibbonControl) As String

C++:HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

字符串

不适用

*getSupertip

回调

VBA:Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#:string GetSupertip(IRibbonControl control)

Visual Basic:Function GetSupertip(control As IRibbonControl) As String

C++:HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

回调

VBA:Sub OnAction(control As IRibbonControl)

C#:void OnAction(IRibbonControl control)

Visual Basic:Sub OnAction(control As IRibbonControl)

C++:HRESULT OnAction([in] IRibbonControl *pControl)

isDefinitive

布尔型

不适用

image

字符串

不适用

imageMso

内置名称(字符串)

不适用

getImage

回调

VBA:Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#:Bitmap GetImage(IRibbonControl control)

Visual Basic:Function GetImage(control As IRibbonControl) As Bitmap

C++:HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

*未在所有实现中使用

子级:无

类别

表示 category 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:task

复选框

表示 checkBox 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

*expand

字符串

不适用

*layout

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

回调

VBA:Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C#:void OnAction(IRibbonControl control, bool isPressed)

Visual Basic:Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C++:HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR VARIANT_BOOL *pvarPressed)

getPressed

回调

VBA:Sub GetPressed(control As IRibbonControl, ByRef returnedVal)

C#:bool GetPressed(IRibbonControl control)

Visual Basic:Function GetPressed(control As IRibbonControl) As Boolean

C++:HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

description

字符串

不适用

getDescription

回调

VBA:Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#:string GetDescription(IRibbonControl control)

Visual Basic:Function GetDescription(control As IRibbonControl) As String

C++:HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

字符串

不适用

*getScreentip

回调

VBA:Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#:string GetScreentip(IRibbonControl control)

Visual Basic:Function GetScreentip(control As IRibbonControl) As String

C++:HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

字符串

不适用

*getSupertip

回调

VBA:Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#:string GetSupertip(IRibbonControl control)

Visual Basic:Function GetSupertip(control As IRibbonControl) As String

C++:HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*未在所有实现中使用

子级:无

组合框

表示 comboBox 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

alignLabel

字符串

不适用

expand

字符串

不适用

layout

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

回调

VBA:Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#:int GetItemCount(IRibbonControl control)

Visual Basic:Function GetItemCount(control As IRibbonControl) as Integer

C++:HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

回调

VBA:Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#:string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic:Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

回调

VBA:Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#:string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic:Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onChange

回调

VBA:Sub OnChange(control As IRibbonControl, text As String)

C#:void OnChange(IRibbonControl control, string text)

Visual Basic:Sub OnChange(control As IRibbonControl, text As String)

C++:HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

字符串

不适用

getText

回调

VBA:Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#:string GetText(IRibbonControl control)

Visual Basic:Function GetText(control As IRibbonControl) As String

C++:HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:item

customUI

所有 Fluent UI 自定义的根标记。

属性

类型

回调签名

onLoad

回调

VBA:Sub OnLoad(ribbon As IRibbonUI)

C#:void OnLoad(IRibbonUI ribbon)

Visual Basic:Sub OnLoad(ribbon As IRibbonUI)

C++:HRESULT OnLoad([in] IRibbonUI *pRibbon)

loadImage

回调

VBA:Sub LoadImage(imageId As String, ByRef image)

C#:IPictureDisp LoadImage(string image_id)

Visual Basic:Function LoadImage(imageId As String) As IPictureDisp

C++:HRESULT LoadImage([in] BSTR *pbstrImageId, [out, retval] IPictureDisp ** ppdispImage) *pRibbon)

子级:commands、ribbon、backstage

下拉列表

表示 dropDown 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

expand

字符串

不适用

layout

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

回调

VBA:Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#:int GetItemCount(IRibbonControl control)

Visual Basic:Function GetItemCount(control As IRibbonControl) as Integer

C++:HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

回调

VBA:Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#:string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic:Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

回调

VBA:Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#:string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic:Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

回调

VBA:Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#:int GetSelectedItemIndex(IRibbonControl control)

Visual Basic:Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++:HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

回调

VBA:Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#:void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic:Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++:HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

字符串

不适用

screentip

字符串

不适用

getScreentip

回调

VBA:Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#:string GetScreentip(IRibbonControl control)

Visual Basic:Function GetScreentip(control As IRibbonControl) As String

C++:HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

supertip

字符串

不适用

getSupertip

回调

VBA:Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#:string GetSupertip(IRibbonControl control)

Visual Basic:Function GetSupertip(control As IRibbonControl) As String

C++:HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:item

编辑框

表示 editBox 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

alignLabel

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) As Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

expand

字符串

不适用

layout

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

maxLength

正整数

不适用

onChange

回调

VBA:Sub OnChange(control As IRibbonControl, text As String)

C#:void OnChange(IRibbonControl control, string text)

Visual Basic:Sub OnChange(control As IRibbonControl, text As String)

C++:HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

sizeString

字符串

不适用

getText

回调

VBA:Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#:string GetText(IRibbonControl control)

Visual Basic:Function GetText(control As IRibbonControl) As String

C++:HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:无

表示 group 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

insertAfterMso

内置名称(字符串)

不适用

insertBeforeMso

内置名称(字符串)

不适用

insertAfterQ

限定名(字符串)

不适用

insertBeforeQ

限定名(字符串)

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getStyle

回调

VBA:Sub GetStyle(control As IRibbonControl, ByRef returnedVal)

C#:BackstageGroupStyle GetStyle(IRibbonControl control)

Visual Basic:Function GetStyle(control As IRibbonControl) As BackstageGroupStyle

C++:HRESULT GetStyle([in] IRibbonControl *pControl, [out, retval] BackstageGroupStyle *pbstrReturnedVal)

helperText

字符串

不适用

getHelperText

VBA:Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#:string GetHelperText(IRibbonControl control)

Visual Basic:Function GetHelperText(control As IRibbonControl) As String

C++:HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

布尔型

不适用

getShowLabel

回调

VBA:Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#:bool GetShowLabel(IRibbonControl control)

Visual Basic:Function GetShowLabel(control As IRibbonControl) As Boolean

C++:HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:primaryItem、topItems、bottomItems

分组框

表示 groupBox 容器。

属性:

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

expand

字符串

不适用

layout

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:button、checkbox、editBox、dropdown、radioGroup、comboBox、hyperlink、labelControl、groupBox、layoutContainer、imageControl

超链接

表示 hyperlink 控件

属性:

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

alignLabel

字符串

不适用

expand

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) As Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

layout

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

target

字符串

不适用

getTarget

回调

VBA:Sub GetTarget(control As IRibbonControl, ByRef returnedVal)

C#:string GetTarget(IRibbonControl control)

Visual Basic:Function GetTarget(control As IRibbonControl) As String

C++:HRESULT GetTarget([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:无

图像控件

表示 imageControl 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) As Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

字符串

不适用

imageMso

内置名称(字符串)

不适用

getImage

回调

VBA:Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#:Bitmap GetImage(IRibbonControl control)

Visual Basic:Function GetImage(control As IRibbonControl) As Bitmap

C++:HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:无

表示 dropDown 或 comboBox 控件中的项。

属性

类型

回调签名

id

Id

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:无

标签控件

表示 labelControl 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

alignLabel

字符串

不适用

expand

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) As Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

layout

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:无

布局容器

表示 layoutContainer 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

align

字符串

不适用

expand

字符串

不适用

layoutChildren

字符串

不适用

子级:button、checkbox、editBox、dropdown、radioGroup、comboBox、hyperlink、labelControl、groupBox、layoutContainer、imageControl

菜单

表示 menu 控件。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

*description

字符串

不适用

*getDescription

回调

VBA:Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#:string GetDescription(IRibbonControl control)

Visual Basic:Function GetDescription(control As IRibbonControl) As String

C++:HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

tag

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) As Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

字符串

不适用

imageMso

内置名称(字符串)

不适用

getImage

回调

VBA:Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#:Bitmap GetImage(IRibbonControl control)

Visual Basic:Function GetImage(control As IRibbonControl) As Bitmap

C++:HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*screentip

字符串

不适用

*getScreentip

回调

VBA:Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#:string GetScreentip(IRibbonControl control)

Visual Basic:Function GetScreentip(control As IRibbonControl) As String

C++:HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

字符串

不适用

*getSupertip

回调

VBA:Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#:string GetSupertip(IRibbonControl control)

Visual Basic:Function GetSupertip(control As IRibbonControl) As String

C++:HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*未在所有实现中使用

子级:menuGroup

菜单组

表示 menuGroup 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

itemSize

字符串

不适用

子级:button、checkbox、menu

主项

表示 primaryItem 容器

属性:无

子级:button、menu

单选按钮

表示 radioGroup 控件中的按钮。

属性

类型

回调签名

id

Id

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:无

单选组

表示 radioButton 控件的容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

alignLabel

字符串

不适用

expand

字符串

不适用

layout

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

回调

VBA:Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#:int GetItemCount(IRibbonControl control)

Visual Basic:Function GetItemCount(control As IRibbonControl) as Integer

C++:HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

回调

VBA:Sub GetItemID(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#:string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic:Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

回调

VBA:Sub GetItemLabel(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#:string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic:Function GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer) as String

C++:HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

回调

VBA:Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#:int GetSelectedItemIndex(IRibbonControl control)

Visual Basic:Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++:HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

回调

VBA:Sub OnAction(control As IRibbonControl)

C#:void OnAction(IRibbonControl control)

Visual Basic:Sub OnAction(control As IRibbonControl)

C++:HRESULT OnAction([in] IRibbonControl *pControl)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

子级:radioButton

选项卡

表示相关 Backstage 视图控件的主容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

insertAfterMso

内置名称(字符串)

不适用

insertBeforeMso

内置名称(字符串)

不适用

insertAfterQ

限定名(字符串)

不适用

insertBeforeQ

限定名(字符串)

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

title

字符串

不适用

getTitle

回调

VBA:Sub GetTitle(control As IRibbonControl, ByRef returnedVal)

C#:string GetTitle(IRibbonControl control)

Visual Basic:Function GetTitle(control As IRibbonControl) As String

C++:HRESULT GetTitle([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

columnWidthPercent

正整数

不适用

firstColumnMinWidth

正整数

不适用

firstColumnMaxWidth

正整数

不适用

secondColumnMinWidth

正整数

不适用

secondColumnMaxWidth

正整数

不适用

子级:firstColumn、secondColumn

任务

表示 task 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

enabled

布尔型

不适用

getEnabled

回调

VBA:Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#:bool GetEnabled(IRibbonControl control)

Visual Basic:Function GetEnabled(control As IRibbonControl) as Boolean

C++:HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

标记

不适用

getKeytip

回调

VBA:Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#:string GetKeytip(IRibbonControl control)

Visual Basic:Function GetKeytip(control As IRibbonControl) As String

C++:HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

description

字符串

不适用

getDescription

回调

VBA:Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#:string GetDescription(IRibbonControl control)

Visual Basic:Function GetDescription(control As IRibbonControl) As String

C++:HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

image

字符串

不适用

imageMso

内置名称(字符串)

不适用

getImage

回调

VBA:Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#:Bitmap GetImage(IRibbonControl control)

Visual Basic:Function GetImage(IRibbonControl control) As Bitmap

C++:HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

子级:group

任务窗体组

表示 taskFormGroup 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

insertAfterMso

内置名称(字符串)

不适用

insertBeforeMso

内置名称(字符串)

不适用

insertAfterQ

限定名(字符串)

不适用

insertBeforeQ

限定名(字符串)

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

字符串

不适用

getHelperText

回调

VBA:Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#:string GetHelperText(IRibbonControl control)

Visual Basic:Function GetHelperText(control As IRibbonControl) As String

C++:HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

布尔型

不适用

getShowLabel

回调

VBA:Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#:bool GetShowLabel(IRibbonControl control)

Visual Basic:Function GetShowLabel(control As IRibbonControl) As Boolean

C++:HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:category

任务组

表示 taskGroup 容器。

属性

类型

回调签名

id

Id

不适用

idQ

限定名(字符串)

不适用

idMso

内置名称(字符串)

不适用

tag

字符串

不适用

insertAfterMso

内置名称(字符串)

不适用

insertBeforeMso

内置名称(字符串)

不适用

insertAfterQ

限定名(字符串)

不适用

insertBeforeQ

限定名(字符串)

不适用

label

字符串

不适用

getLabel

回调

VBA:Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#:string GetLabel(IRibbonControl control)

Visual Basic:Function GetLabel(control As IRibbonControl) As String

C++:HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

布尔型

不适用

getVisible

回调

VBA:Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#:bool GetVisible(IRibbonControl control)

Visual Basic:Function GetVisible(control As IRibbonControl) As Boolean

C++:HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

字符串

不适用

getHelperText

回调

VBA:Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#:string GetHelperText(IRibbonControl control)

Visual Basic:Function GetHelperText(control As IRibbonControl) As String

C++:HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

布尔型

不适用

getShowLabel

回调

VBA:Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#:bool GetShowLabel(IRibbonControl control)

Visual Basic:Function GetShowLabel(control As IRibbonControl) As Boolean

C++:HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

子级:category

结论

利用 Backstage 视图扩展性,您更加能够为用户提供自定义的目标菜单和选项集。最佳之处在于,您可以使用在自定义功能区 UI 时使用的体验和结构。我鼓励您探究构成 Microsoft Office Fluent UI 的各种组件以便为组织创建自定义的应用程序。

其他资源

可以在以下位置查找有关本文中讨论的主题的详细信息。

**致谢:**感谢我的编辑 Linda Cannon 帮助我做好发布本文的准备工作。