引数のデータ型
Microsoft Office 2000/Visual Basic プログラマーズ ガイド |
C/C++ と VBA では、使用されるデータ型およびその表記法が異なります。次の表には、DLL 関数で使用される一般的なデータ型、および対応する VBA のデータ型がいくつか示されています。この表に表記されていないデータ型を使用する場合は、この章の「その他の参考資料」に一覧されている参考資料を参照してください。
C/C++ のデータ型 | ハンガリー記法のプリフィックス | 説明 | VBA のデータ型 |
BOOL | b | 8 ビットのブール値。ゼロは False、ゼロ以外は True を示します。 | ブール型 (Boolean) または長整数型 (Long) |
BYTE | ch | 8 ビットの符号なしの整数。 | バイト型 (Byte) |
HANDLE | h | 32 ビットの符号なしの整数で、Windows オブジェクトに対するハンドル。 | 長整数型 |
int | n | 16 ビットの符号付きの整数。 | 整数型 (Integer) |
long | l | 32 ビットの符号付きの整数。 | 長整数型 |
LP | lp | C/C++ 構造、文字列、関数、またはメモリに存在するその他のデータをポイントする 32 ビットの long ポインタ。 | 長整数型 |
LPZSTR | lpsz | C 形式の Null 終端の文字列をポイントする 32 ビットの long ポインタ。 | 長整数型 |
以上のデータ型およびプリフィックスを把握しておくことは重要ですが、前の Win32API.txt では、VBA で使用可能な Declare ステートメントについて説明しています。この Declare ステートメントをコードで使用する場合、関数の引数は適切な VBA データ型で定義済みです。
適切なデータ型を定義して渡す場合、DLL 関数の呼び出しは VBA 関数の呼び出しとほとんど同じです。例外については次で説明します。