C#VSTO合并文档级功能区和应用程序级功能区
我已经在Excel中创建了一个包含功能区的文档级自定义,我想为Excel创建一个应用程序级自定义,其中包含一个同名功能区。我的问题是如何让两个色带结合起来?目前,它们具有相同的自定义控件IDC#VSTO合并文档级功能区和应用程序级功能区,c#,excel,vsto,ribbon,C#,Excel,Vsto,Ribbon,我已经在Excel中创建了一个包含功能区的文档级自定义,我想为Excel创建一个应用程序级自定义,其中包含一个同名功能区。我的问题是如何让两个色带结合起来?目前,它们具有相同的自定义控件ID 控件的idQ属性用于允许多个加载项共享容器,如自定义选项卡和组 在下面的VBA示例中,两个Excel加载项在“加载项”选项卡上共享同一个“Contoso”组;每个按钮都会添加一个按钮。键在标记中指定相同的唯一命名空间。然后,控件可以使用idQ引用此命名空间 外接程序1的自定义UI 外接程序2的自定义UI
控件的idQ属性用于允许多个加载项共享容器,如自定义选项卡和组 在下面的VBA示例中,两个Excel加载项在“加载项”选项卡上共享同一个“Contoso”组;每个按钮都会添加一个按钮。键在标记中指定相同的唯一命名空间。然后,控件可以使用idQ引用此命名空间 外接程序1的自定义UI
外接程序2的自定义UI
如果使用COM外接程序自定义Fluent UI,则命名空间名称必须是COM外接程序的ProgID,但在其他方面行为相同。使用共享外接程序时,ProgID为AddInName.Connect。使用2007 Microsoft Office系统的Microsoft Visual Studio 2005工具(Visual Studio 2005 Office第二版工具)创建外接程序时,ProgID是外接程序的名称
在MSDN的以下系列文章中,您可以阅读有关Fluent UI(也称为Ribbon UI)的更多信息:
我正在使用视觉设计来设计功能区界面。我是否可以选择添加自定义名称空间并将ID更改为IDQ?否,您需要使用Ribbon XML来完成这项工作。可以在设计器上单击鼠标右键,然后选择“导出功能区标记”选项。然后可以通过添加所需的名称空间来更正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>
<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>