MS Excel 2013的自动化加载项

时间:2015-11-02 10:56:40

标签: c# excel

我正在尝试在Visual Studio 2013中编写C#自动化加载项。目标是能够在MS Excel 2013中调用用C#编写的UDF。我已经阅读了大部分关于该主题的公开资料和我试图改编几个简单的例子such as

不幸的是,它们都不是在VS 2013和MSExcel 2013下编写的。代码示例:

<button id= "subm_myform" type="submit" >Send My Time</button>

我通过以下方式使组件COM可见:

  

项目 - &gt;属性 - &gt;应用程序 - &gt;装配信息

我还在“构建”标签中注册了COM互操作。

构建之后,我可以在注册表中看到注册成功并且加载项是在正确的GUID下注册的。但是,当我打开Excel并转到Developer-&gt; Add-ins-&gt; Automation时,我无法在列表中看到我的加载项。我确认我发布的代码适用于Excel 2010但由于某种原因我无法在Excel 2013中看到我的加载项。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了问题的原因。令人惊讶的是,事实证明,Visual Studio无法在注册表中的正确树下自动注册64位dll。解决方案不是为COM interop注册项目,而是手动添加命令以调用64位版本的RegAsm作为构建后事件。需要包含dll的完整路径和名称,因此不幸的是,这不是一个完全自动化的解决方案。