如何在一个VSTO Word插件中部署C#代码和VBA脚本

Ghe*_*hen 7 c# clickonce vba vsto

我试图解决的基础问题是为内部VSTO Word插件方法应用自定义键绑定(在C#中开发):

Globals.ThisAddIn.Application.KeyBindings.Add(  
    Word.WdKeyCategory.wdKeyCategoryCommand,  
    "MyMethodName",  
    myKey,
    ref _missing,  
    ref _missing);
Run Code Online (Sandbox Code Playgroud)

好吧,问题是这段代码总是引发异常,因为(Microsoft MSDN):"没有办法(在对象模型或Word应用程序中)绑定到除VBA宏之外的任何东西".

其他开发人员正在尝试做的是使用VBA方法实现一种解决方法,该方法在加载addin时为VBA回调分配键绑定,并依次从这些回调中调用C#addin.(有关详细信息,请参阅如何从C#调用VBA)

这个想法有机会实现:.NET AddIn和VBA启用的Word模板.但是在我的项目中,我需要在单个Click Once包中将此插件提供给最终用户计算机(在企业网络内部,安全设置不是问题).

所以问题是:如何在一个部署包中混合使用C#加载项(功能区)和VBA脚本?

有没有人有这样的经验分享?

Ghe*_*hen 1

现在我们开始!

演练:在 .NET Framework 3.5 的单个 ClickOnce 安装程序中部署多个 Office 解决方案。

大量的手工工作。但想法是使用附加依赖项更新 ClickOnce 包(编辑清单 XML)。标准 ClickOnce 安装程序将为您完成剩下的工作。