如何从C/C++ DLL传递字符串数组,VBA(Excel)中
问题描述:
如何从C/C++ DLL传递字符串数组,VBA(Excel)中如何从C/C++ DLL传递字符串数组,VBA(Excel)中
DLL在Visual Studio
DLL没有管理, ATL等
问候 安迪
答
一个处理这种方式是写你的DLL返回类型字节的SAFEARRAY作为函数结果(VB数组是OLE SAFEARRAYS)。
为此,您必须阅读SafeArray API和结构。我自己并不知道,但您需要的主要内容是SAFEARRAYBOUND结构和SafeArrayCreate API。 API返回给您的是,您返回到VBA。你会完成的。
答
微软在很多年前写了一篇白皮书,详细介绍了一些用于编写与VB5/VB6一起使用的DLL的最佳实践,这当然也适用于VBA。它授权转载,并提供原Word形式,在这里:
微软:开发的DLL用于VB5 http://vb.mvps.org/tips/vb5dll.asp
见第8节(“传递和返回数组”)中,该任务的帮助。有一个例子专门用来演示传递和返回字符串数组。
不确定vb字符串是否有字节作为元素? – Andy 2009-06-12 14:59:55