OCX怎么了?他们不再可能使用最新的工具进行创建吗?
我需要创建一个可以放置在 Word、PowerPoint 和 Excel 文档中的 ActiveX 控件。如果我使用 VS.NET,我只能使用 COM Interop 创建一个 UserControl DLL,但我认为我不能使用 PowerPoint 开发人员选项卡的“更多控件”工具箱添加它。
你会怎么办?
OCX怎么了?他们不再可能使用最新的工具进行创建吗?
我需要创建一个可以放置在 Word、PowerPoint 和 Excel 文档中的 ActiveX 控件。如果我使用 VS.NET,我只能使用 COM Interop 创建一个 UserControl DLL,但我认为我不能使用 PowerPoint 开发人员选项卡的“更多控件”工具箱添加它。
你会怎么办?
是的,您仍然可以创建它们。但是您不能使用 .NET 语言创建 OCX。需要非托管 C++(或 VB)。您可以在 C# 或 VB.NET 中创建的具有 COM 互操作性的 DLL 只是通过 CCW 调用的 .NET 对象。
您仍然可以使用 .NET 创建 ActiveX 组件。但是,这是实验性的,不推荐。如果您仍想尝试,可以在 Andrew Whitechapel 的博客中找到信息:
但正如安德鲁所说:
这似乎适用于 Excel(我所做的测试非常有限),部分适用于 PowerPoint,但不适用于 Word。
因此,如果您不想花费大量时间调试奇怪的错误,我建议您使用旧的 VB 6.0 和 Visual Studio 6.0 来构建您的 ActiveX 组件。
使用可以针对本机代码 + ActiveX 的 C++ 或 VB 编译器。
根据您需要做什么,加载项可能比 OCX 更合适,您当然可以使用 .NET 创建它们。您还应该查看 Visual Studio Tools for Office,它不是 OCX 的直接替代品,而只是为了了解新功能。它可能会向您展示您现在使用 OCX 解决的问题的新方法。