【发布时间】:2012-07-15 12:50:51
【问题描述】:
所以我正在开发一个 Excel 项目,该项目将使用 VBA 加载 C++ dll。我想做的是能够将没有特定类型(数据可以是数字或分类)的 Excel 范围传递给 C++ dll(我可以描述我的 Excel 范围的最佳方式是 variant 类型) .
所以这些步骤可能涉及:
- 在 VBA 中加载 dll
- 将 excel 范围发送到 dll(范围可能包含数字列和/或字符串列)
- 在dll文件中操作excel中的数据
我正在考虑使用 excel 变体和 C++ 变体。但是我不清楚如何使用 C++ 变体,因为我找不到任何好的文档。
我收到的另一个建议是使用 COM 编程。
我的问题:
- 能否有好心人指导我如何进行? (例如,通过提供 C++ 原型,以及如何处理变体的简单示例)
- 是否有人知道有关使用 C++ 变体(可能与 VBA 联合使用)的任何好的文档/教程?
- 如果速度是一个问题,使用 COM 是否比使用 VARIANTS 更可取?
- 是否可以选择使用 C API?
更新:
- 我需要处理的范围可能很大(约 500,000 行)。
- 速度是一个因素,因此,我希望尽可能避免不必要的复制。
【问题讨论】: