我尝试为我的一个 Office 文档自定义 Office 功能区,如“使用 Office Open XML 格式文件自定义 Fluent UI”一章中所述。
理论上它应该添加一个新选项卡和一个按钮,但是当我打开此文档时,我总是收到此错误(注意:我激活了 Office 选项以通过 Backstage 视图(文件)> 选项 > 高级选项 > 常规 > 显示添加查看错误-用户界面错误):
在自定义 UI XML 代码中检测到错误...第 1 行列...错误代码 0x80070057 - 参数不正确。这是包含错误消息的弹出窗口(注意:我有法语版 Office):新标签根本不显示。
使用 Excel 文档失败,但我也尝试使用 Word 和 PowerPoint 执行此操作,并得到了完全相同的错误。
以下是我对
Classeur1.xlsx
添加选项卡所做的更改(将其后缀重命名为 .zip,操作其内容,然后将其重命名回 .xlsx):
_rels/.rels
中,我在
</Relationships>
之前添加了这一行:
<Relationship Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility"
Target="customUI/customUI.xml" Id="customUIRelID"/>
customUI/customUI.xml
:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="MyTab" label="My Tab">
<group id="MyGroup" label="My Group">
<button id="MyButton" label="MyButton" onAction="MyMacro"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
.xlsm
,但我只想建议重现的最小情况,单击按钮不是这里的问题。我的 Excel、Word 和 PowerPoint 版本:Office 365 版本 2008(内部版本 13127.20408 Office“即点即用”)。
编辑:这是版本的屏幕截图(注意:我的问题后2天,它已自动升级到版本2009 Build 13231.20262),我现在还没有收到错误
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
对于订阅365的版本“2008”无效 - 我不会假装它是Office 2008,这只是我所看到的,就像现在的“2009”(请参阅我的问题中的屏幕截图)——即使 Steve Rindsberg 怀疑 2008 和 2009 版本是否会出现,很抱歉没有截取屏幕截图——希望我能在这篇 Windows 博客文章中找到提到版本“2008”的屏幕截图:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
与关系结合使用,使用关系命名空间
http://schemas.microsoft.com/office/2006/relationships/ui/extensibility>
:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="MyTab" label="My Tab">
<group id="MyGroup" label="My Group">
<button id="MyButton" label="MyButton" onAction="MyMacro"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
现在,我打开时就可以成功看到“我的选项卡”了Classeur1.xlsx
:
https://rondebruin.nl/win/s2/win001.htm(edit 2024:参见 archive.org)中提到,同时介绍 Office RibbonX 编辑器,这是必须选择两个版本:
_rels\.rels
也有不同的命名空间。
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
http://schemas.microsoft.com/office/2007/relationships/ui/extensibility
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
http://schemas.microsoft.com/office/2006/relationships/ui/extensibility