我有一个64位的DLL,我想在VBA中使用它。 VB.net中的示例在VBA中不起作用,因为Int32不是已知的VBA数据类型。是否可以在VBA中使用它?如果是这样,我是否必须写自己的课程?我包括几行示例。谢谢。
Imports System Imports System.Runtime.InteropServices Friend Class LinkVCMOWRAP Declare Function wcmo_init Lib "vcmowr64.dll" ( _ <MarshalAs(UnmanagedType.AnsiBStr), [In]()> ByRef WCMOarg_Handle As String, _ <MarshalAs(UnmanagedType.AnsiBStr), [In]()> ByRef WCMOarg_User As String, _ <Out()> ByRef IntPtr_DataOut As IntPtr, _ <Out()> ByRef IntPtr_ErrOut As IntPtr) _ As Int32
答案 0 :(得分:0)
Int32和IntPtr不是有效的VBA数据类型。您需要重写将Int32类型转换为Long并将IntPtr类型转换为Integer的函数。