1

VBA で使用したい 64 ビット DLL があります。Int32 は既知の VBA データ型ではないため、VB.net の例は 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 
4

1 に答える 1

0

Int32 と IntPtr は有効な VBA データ型ではありません。Int32 型を Long に、IntPtr 型を Integer に変換する関数を書き直す必要があります。

于 2011-12-12T15:00:00.093 に答える