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