ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

Windows API を使う(Declare ステートメント)

   

Windows API を使う

VBA から Windows API(Application Programming Interface) の関数を呼び出して使用すると、Windows の機能を利用することができます。Windows API を使用するには、Declare ステートメントを使って宣言をします。

64Bit版の Microsoft Office を使用している場合、PtrSafe キーワードが必要になります。


Declare ステートメント


【構文】

<Sub>
[ Public | Private ] Declare Sub name Liblibname” [ Aliasaliasname” ] [( arglist )]

<Function>
[ Public | Private ] Declare Function name Liblibname” [ Aliasaliasname” ] [( arglist )] [ As type ]


Declare ステートメント(64bit版 Microsoft Office を使用)


【構文】

<Sub>
[ Public | Private ] Declare PtrSafe Sub name Liblibname” [ Aliasaliasname” ] [( arglist )]

<Function>
[ Public | Private ] Declare PtrSafe Function name Liblibname” [ Aliasaliasname” ] [( arglist )] [ As type ]


引数・戻り値

  • PtrSafe  ・・・  64bit版の Excel を使用している場合は、必ず指定します。PtrSafe キーワードは、Declare ステートメントが 64bit版の Microsoft Office で安全に実行されることを主張します。
  • name  ・・・  プロシージャ名を指定します(省略不可)。
  • libname  ・・・  name で指定したプロシージャが含まれる DLL または、コードリソースの名前を指定します(省略不可)。
  • aliasname  ・・・  プロシージャ名とは異なる名前(別名)で、関数を使用したい場合にのみ使用します。
    name に、別名を指定し、aliasname に、実際のプロシージャ名を指定します。
  • arglist  ・・・  プロシージャに渡す引数のリストを指定します(省略可)。
  • type  ・・・  プロシージャの戻り値の型を指定します(省略可)。



Windows API 使用例

サンプルVBAソース


実行結果

Declare ステートメント



 - Windows API , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

WindowsAPI GetTickCount
Windows API:時間を計測(GetTickCount、timeGetTime)

ミリ秒単位の時間を計測 Windows API の GetTickCount や …