Vba 如何将Word功能区选项卡从2007/2010迁移到2013

Vba 如何将Word功能区选项卡从2007/2010迁移到2013,vba,ms-word,ribbon,Vba,Ms Word,Ribbon,我发布了一个Word模板,其中包含大量VBA代码库。该模板包括一个菜单,对于Word 2007/2010用户,还包括一个功能区选项卡。在Word 2013中,通过菜单,一切都可以正常工作,但功能区没有显示出来。我仍然使用VBA编写代码,而不使用Visual Studio(并且不想购买VSTO)。因此,我试图找出如何更新我的功能区代码/xml或其他任何我需要做的事情,以使我的功能区选项卡在2013年显示出来 用户基于模板创建新文档时,功能区将从模板复制到新文档中。但Word 2013中的这一过程出

我发布了一个Word模板,其中包含大量VBA代码库。该模板包括一个菜单,对于Word 2007/2010用户,还包括一个功能区选项卡。在Word 2013中,通过菜单,一切都可以正常工作,但功能区没有显示出来。我仍然使用VBA编写代码,而不使用Visual Studio(并且不想购买VSTO)。因此,我试图找出如何更新我的功能区代码/xml或其他任何我需要做的事情,以使我的功能区选项卡在2013年显示出来

用户基于模板创建新文档时,功能区将从模板复制到新文档中。但Word 2013中的这一过程出现了一些问题。 有趣的是,如果我打开以前从模板(在Word 2010中)创建的文档,功能区将显示并正常工作。但是,如果我从模板创建一个新的Word 2013文档,功能区就不存在了

我必须在代码中做一些事情来告诉Word根据我的模板在新文档中显示功能区,但我一直无法找到这些信息

我总是使用“Office自定义UI编辑器”生成功能区,Word 2013无法使用该编辑器;该工具将xml“插入”到模板中。我的ribbon XML以以下内容开头:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="SERibbon_Load">
    <ribbon startFromScratch="false">
        <tabs>


有人知道如何让我的功能区选项卡使用Word 2013吗?

我自己还没有这样做,但请查看msdn中的以下线程:


名称空间看起来是相同的,但某些属性值可能已更改。您可能需要对照文档检查您的ribbonXML是否符合要求:。

事实证明,我的ribbon或代码确实没有问题。安装模板的安装程序代码将为使用Word 2003或更早版本的用户安装“.dot”模板(不带功能区),并为Word的较新版本安装“.dotm”模板(带功能区)。然后在用户的“开始”菜单上设置模板的快捷方式

安装程序代码未识别已安装Word 2013,并断定用户正在使用Word 2003,从而创建了模板的无功能区版本的快捷方式。我将快捷方式改为指向“.dotm”版本,一切正常。因此,我的自定义功能区选项卡在Word 2007/2010/2013中运行良好。我刚刚修复了我的安装程序,以检测是否安装了Word 2013(注册表中的版本“15”)

名称空间在2010年发生了明显变化,但与2007年向后兼容。2010年向名称空间添加了内容,2013年添加了新内容,但我的理解是它是相同的模式,因此也向后兼容Word 2007功能区定义


G

谢谢克里斯蒂娜。非常有用的链接。我将在周末对此做一些工作,如果你的答案(我希望如此)能在Word 2013中发挥作用,我会相信你的答案。