将按钮添加到第三方功能区选项卡插件

时间:2014-05-21 15:06:20

标签: visual-studio-2013 vsto add-in ribbon

我在单词2010中有第三方插件,无法访问源代码。插件在第3方插件生成的功能区选项卡中添加了新的功能区选项卡和许多组。

我理解如何使用vb2013创建我自己的新功能区选项卡等。我的问题是,是否可以创建一个新单词2010 addin,它以某种方式获取第三方插件的功能区选项卡上的句柄并添加了按钮到第三方功能区选项卡中的一个组?

所以基本上,如果第三方插件加载了单词,用户将获得第三方功能区选项卡。如果第三方插件加上我可能的新插件被添加到单词中,则用户应该获得第三方功能区,以及我的个人插件生成的新按钮,该按钮以某种方式显示在第三方功能区选项卡中。

这可能吗?

1 个答案:

答案 0 :(得分:2)

According to Microsoft只有您可以访问两个加载项的源代码才能实现此目的。

  

如何创建两个将项目添加到同一组或标签的加载项?

     

控件的 idQ 属性存在以启用多个加载项   共享容器,例如自定义选项卡和组。在以下VBA中   例如,两个Excel加载项共享相同的“Contoso”组   加载项选项卡;每个都添加一个按钮。关键是指定   <customUI>标记中的相同唯一命名空间。然后,控件可以   使用 idQ

引用此命名空间

加载项1的CustomUI XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
  xmlns:x="myNameSpace" >
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group idQ="x:Contoso" label="Contoso">
          <button id="C1" label="Contoso Button 1" size="large" 
            imageMso="FileSave" onAction="c_action1" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

加载项2的CustomUI XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" 
  xmlns:x="myNameSpace" >
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group idQ="x:Contoso" label="Contoso">
          <button id="C2" label="Contoso Button 2" size="large" 
            imageMso="FileSave" onAction="c_action2" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
  

如果使用COM加载项自定义Fluent UI,则命名空间名称   必须是COM加载项的 ProgID ,否则行为   相同。使用共享加载项时, ProgID 是    AddInName 连接即可。当您使用Microsoft Visual Studio 2005工具时   2007 Microsoft Office System(适用于Office的Visual Studio 2005工具)   第二版)创建加载项, ProgID 是该名称   外接。

因此,除非您尝试搭载的其他加载项使用命名空间和idQ-tag设置其功能区,否则您不太可能将控件放在其功能区组/选项卡中。