Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在一个VSTO Word插件中部署C#代码和VBA脚本_C#_Vba_Clickonce_Vsto - Fatal编程技术网

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

如何在一个VSTO Word插件中部署C#代码和VBA脚本,c#,vba,clickonce,vsto,C#,Vba,Clickonce,Vsto,我试图解决的基本问题是为内部VSTO Word加载项方法应用自定义键绑定(在C#中开发): 问题是,这段代码总是抛出一个异常,因为(Microsoft MSDN):“除了VBA宏之外,没有任何方法(在对象模型或Word应用程序中)绑定到任何对象” 其他开发人员正在尝试使用VBA方法实现一种变通方法,该方法在加载加载加载项时将键绑定分配给VBA回调,然后依次从这些回调调用C#addin。(有关详细信息,请参见如何操作) 此想法有机会实现live:.NET加载项和启用VBA的Word模板。但在我的项

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

问题是,这段代码总是抛出一个异常,因为(Microsoft MSDN):“除了VBA宏之外,没有任何方法(在对象模型或Word应用程序中)绑定到任何对象”

其他开发人员正在尝试使用VBA方法实现一种变通方法,该方法在加载加载加载项时将键绑定分配给VBA回调,然后依次从这些回调调用C#addin。(有关详细信息,请参见如何操作)

此想法有机会实现live:.NET加载项和启用VBA的Word模板。但在我的项目中,我需要在一次点击的包中向最终用户机器(在安全设置不成问题的公司网络中)交付此加载项

所以问题是:如何在一个部署包中混合使用C#外接程序(Ribbon)和VBA脚本

有谁有这样的经验可以分享吗?

我们开始吧


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

hmmm似乎是一种解决方法,您可以使用windows子类化直接绑定到键盘快捷键。

我向ClickOnce产品团队询问了您的问题。他说,您可以将脚本包括在VSTO部署中,如果您的目标是.NET4.0,则可以使用VSTO插件执行部署后步骤。他说,您也可以通过VSTO中的VBA互操作功能来实现这一点。您是否碰巧以.NET4.0为目标

以下是VSTO4(.NET 4)的解决方案:“演练:在一个ClickOnce安装程序中为.NET Framework 4部署多个Office解决方案”()。VSTO3怎么样?很高兴找到根恩。您可以继续并接受您自己的答案(复选标记thingy),以便此线程显示为“已回答”。当您单击链接时,它将显示备选链接建议:
Globals.ThisAddIn.Application.KeyBindings.Add(  
    Word.WdKeyCategory.wdKeyCategoryCommand,  
    "MyMethodName",  
    myKey,
    ref _missing,  
    ref _missing);