我有一个使用XML扩展包为Microsoft Word添加功能的项目。目前,当我们给客户的文档打开时,它会加载我们的包,该包执行SmartDocInitialize方法,该方法使用Microsoft.Office.Core.CommandBar.Controls.Add等向主菜单和工具栏添加内容。没有修改,在Word 2007中打开时,这些按钮将添加到加载项功能区选项卡上,但这并不理想,因为按钮都很小,没有正确分组,并且无法将加载项选项卡文档加载时的前端。以编程方式将功能区添加到Microsoft Word 2007
如果在Office 2003中打开文档,我想保持此功能不变,但如果在Office 2007中打开该文档,我希望读入一个xml文件,其中描述了我的新功能区选项卡以及所有按钮。我已经能够在网上找到的所有东西似乎只会导致功能区文件只有在你有一个非常具体的魔法组合的情况下才能加载(在Visual Studio中生成并且可以工作,但没有关于如何将它部署到用户的信息框),并且只有当您拥有最初使用Office属性的Visual Studio工具创建的整个项目时才有效,我目前没有这些工具。
我们的开发环境是XP,Visual Studio 2005中,C#,.NET 2.0
我所见过的所有关于COM加载项的内容都说它们是以应用程序加载的,而不是基于每个文档。不幸的是,我不能这样处理。我已经想出了如何在每个文档基础上添加功能区,但通过这种方式,onAction函数似乎必须是VBA宏,而且我很难弄清楚如何让我的VBA宏调用我在C#中的事件处理程序。如果您对此有所了解,请为此问题添加一个答案:http://stackoverflow.com/questions/1288717/is-it-possible-to-call-c-dlls-from-visual-basic-code-contained -in-a-word-2007-fi – 2009-08-18 14:06:24
我的猜测是你必须让.NET类COM以某种方式可见到VBA(这是COM基础)可以看到并与他们一起工作。这是我的专长之外。 – 2009-08-18 15:05:53
我找到了。仅供参考。 https://social.msdn.microsoft。com/Forums/office/zh-CN/ddf4a3fe-16af-440d-9697-9a3bf53b52c3/customize-microsoft-word-2007-in-cnet-windows-application-using-microsoftofficeinteropword?forum = worddev 我想不可能。 .. – 2017-10-23 14:01:10