【发布时间】:2016-07-18 12:45:59
【问题描述】:
我正在为自己的目的开发一个版本的 CustomUI 实用程序。我从 MSDN 中的代码开始,它为 Office 2007 设置了原始的 CustomUI 元素,但我找不到如何在这个版本中实现后台。
Using document As SpreadsheetDocument = SpreadsheetDocument.Open(fileName, True)
' You can only have a single ribbon extensibility part.
' If the part doesn't exist, add it.
Dim part = document.RibbonExtensibilityPart
If part Is Nothing Then
part = document.AddRibbonExtensibilityPart
End If
part.CustomUI = New CustomUI(customUIContent)
part.CustomUI.Save()
End Using
如果customUIcontent 包含带有<backstage> 标签的XML(使用xmlns= "http://schemas.microsoft.com/office/2009/07/customui"),此代码将失败。
我使用原始的 CustomUI 实用程序将示例后台插入到工作簿中。在检查 XML(在手表中)时,我发现了一个附加元素 RibbonAndBackstageCustomizationsPart。我试图复制原始代码,用RibbonAndBackstageCustomizationsPart 代替RibbonExtensibilityPart——但这在
part.CustomUI = New CustomUI(customUIContent) 线。
在进一步检查示例中的 XML 内容时,我发现 innerXML 和 outerXML 具有原始 XML 的变体,其中标签具有 "mso14" 前缀(这可能是 CustomUI 显示 CustomUI14.xml 与 CustomUI12.xml 部分分开的原因)。
我已广泛搜索有关如何使用我的 XML 填充 RibbonAndBackstageCustomizationsPart 元素的帮助,但未能找到正确的语法。
谁能告诉我填充RibbonAndBackstageCustomizationsPart 元素的正确方法吗?
我在 VS 2012 中使用 Open XML 2.5 SDK。
非常感谢。
P.S.:我今天早些时候在 ericwhite.com 上发布了这个问题;在这里重复以获得更广泛的受众。 :-)
【问题讨论】:
-
您应该包括您谈论的 XML sn-ps,以及您收到的确切错误消息。