Windows APIの活用

1. Windows APIとは?

  • Windowsの内部機能(ウィンドウ制御、ファイル操作、システム情報取得など)を呼び出す仕組み
  • Declare PtrSafe を使ってAPI関数を宣言し、VBAから呼び出す
  • 64bit対応には PtrSafe と LongPtr の使用が必須

2. よく使うAPIの宣言と使い方

  • メッセージボックス表示:MessageBox(カスタムダイアログ)
  • ウィンドウ操作:FindWindowShowWindowSetForegroundWindow
  • ファイル操作:GetOpenFileNameGetSaveFileName(共通ダイアログ)
  • 時間取得:GetTickCountQueryPerformanceCounter(高精度タイマー)
  • ビープ音:Beep(システム音で通知)

3. APIで実現できる便利機能

  • 任意のアプリ(例:電卓)をアクティブにする
  • タスクバーに表示されているウィンドウを取得する
  • Excelウィンドウを非表示化・最小化する
  • フォームに半透明・影付きなどの特殊効果をつける
  • マウスカーソルの位置や状態を取得する

4. Excel×APIの活用シーン例

  • Excelのフォームでファイル選択ダイアログを強化(API版の方が高機能)
  • ログ出力時にタイムスタンプ精度を上げる(APIでミリ秒取得)
  • 他アプリの起動・操作をVBAから制御(WinAutomation的な用途)

5. 注意点と安全性

  • 間違ったAPI呼び出しでExcelがクラッシュする可能性あり
  • 64bit版OfficeではAPI宣言の書き方が異なる(PtrSafeLongPtr
  • なるべく検証された定義・コードを使うのが安全
  • セキュリティポリシーにより一部API使用が制限されている可能性あり

コメント

タイトルとURLをコピーしました