用VS.NET构建OCX?

时间:2008-12-12 18:57:30

标签: interop activex ms-office user-controls ocx

OCX发生了什么?它们不再可能使用最新工具创建吗?

我需要创建一个ActiveX控件,我可以将其放在Word,PowerPoint和Excel文档中。如果我使用VS.NET,我只能使用COM Interop创建一个UserControl DLL,但我不认为我可以使用PowerPoint的Developer Tab的“More Controls”工具箱添加它。

你会做什么?

4 个答案:

答案 0 :(得分:3)

是的,你仍然可以创建它们。但是您无法使用.NET语言创建OCX。需要非托管C ++(或VB)。使用COM互操作的DLL可以在C#或VB.NET中创建,只是通过CCW调用的.NET对象。

答案 1 :(得分:3)

您仍然可以使用.NET来创建ActiveX组件。但是,这是实验性的,不推荐使用。如果您仍想尝试,可以在Andrew Whitechapel的博客中找到相关信息:

  

Using Managed Controls as ActiveX Controls

但安德鲁说:

  

这似乎适用于Excel(有   我完成的测试非常有限),   部分适用于PowerPoint,但是   与Word悲惨地失败。

因此,如果您不想花费大量时间来调试奇怪的错误,我建议您使用旧的VB 6.0和Visual Studio 6.0来构建ActiveX组件。

答案 2 :(得分:0)

使用可以定位本机代码+ ActiveX的C ++或VB编译器。

答案 3 :(得分:0)

根据您的需要,加载项可能比OCX更合适,您当然可以使用.NET创建这些加载项。您还应该查看Visual Studio Tools for Office,而不是直接替换OCX,而只是了解新功能。它可能会向您展示您正在使用OCX解决问题的新方法。