1. Windows APIとは?
- Windowsの内部機能(ウィンドウ制御、ファイル操作、システム情報取得など)を呼び出す仕組み
Declare PtrSafe
を使ってAPI関数を宣言し、VBAから呼び出す- 64bit対応には
PtrSafe
とLongPtr
の使用が必須
2. よく使うAPIの宣言と使い方
- メッセージボックス表示:
MessageBox
(カスタムダイアログ) - ウィンドウ操作:
FindWindow
,ShowWindow
,SetForegroundWindow
- ファイル操作:
GetOpenFileName
,GetSaveFileName
(共通ダイアログ) - 時間取得:
GetTickCount
,QueryPerformanceCounter
(高精度タイマー) - ビープ音:
Beep
(システム音で通知)
3. APIで実現できる便利機能
- 任意のアプリ(例:電卓)をアクティブにする
- タスクバーに表示されているウィンドウを取得する
- Excelウィンドウを非表示化・最小化する
- フォームに半透明・影付きなどの特殊効果をつける
- マウスカーソルの位置や状態を取得する
4. Excel×APIの活用シーン例
- Excelのフォームでファイル選択ダイアログを強化(API版の方が高機能)
- ログ出力時にタイムスタンプ精度を上げる(APIでミリ秒取得)
- 他アプリの起動・操作をVBAから制御(WinAutomation的な用途)
5. 注意点と安全性
- 間違ったAPI呼び出しでExcelがクラッシュする可能性あり
- 64bit版OfficeではAPI宣言の書き方が異なる(
PtrSafe
,LongPtr
) - なるべく検証された定義・コードを使うのが安全
- セキュリティポリシーにより一部API使用が制限されている可能性あり
コメント