将 mac OS X Excel 2011 VBA 中的 VARIANT 传递给 C++

Passing a VARIANT from mac OS X Excel 2011 VBA to c++

我在macOSX下,使用excel-2011vba。我知道如何将各种类型从 VBA 传递到 c++ 以及相反,这主要归功于 this.

现在,我想知道是否可以通过某种方式将 VBA 变体传递给 c++(我使用的是 gcc 5.2)。当然,gcc中没有VARIANT,但VARIANT毕竟是"just"一个联合体。 (乐观的人。)你们听说过 classes 模仿微软的 VARIANT 并允许实现这一目标吗? (第一次,我可以接受忘记 IUnknownIDispatch !)

我知道 mono,并看看我能从中得到什么,因为他们也有 VARIANTclass,但我不知道它是否明智。我找了一篇文档,详细解释了 excel-2011 for mac 的对象模型,没有成功。

Precision. 我并不是说微软的 VARIANT 在 windows 下是 c++ 和 [=37= 之间交换数据的最佳方式] 但是,对于 COM 和 ATL 之类的东西,我已经很习惯了,它对我所做的工作很有效,所以我试图坚持 mac [=43= 下的 "same kind" 的某些东西] X. 我可能是错的,但在这种情况下,我真的很想知道我如何才能做我想做的事。

我最终选择将 VARIANT 移植到 mac os x,请看这里:

BSTR's and VARIANT's under... mac os x

我在哪里描述了我现在是如何尝试去做的。