演習36 「VBA + API」 の解説 No.3


'--------------- [Module7] ---------------

'API関数の宣言

'クラスからウィンドウハンドルを取得
Declare Function FindWindow Lib "user32" _
  Alias "FindWindowA" _
    (ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long
'-----------------------------------------

Private Sub apitest7()
  Dim clsAccess As String    'クラス用の変数
  Dim hwnd As Long           'ウィンドウハンドル用
  Dim myID As Long           'Shell関数の戻り値
    
  'Accessアプリケーションのクラス名を指定
  clsAccess = "OMain"
  
  'Access のウィンドウハンドルを取得
  hwnd = FindWindow(clsAccess, vbNullString)
  
  If hwnd <> 0& Then  '取得できた場合は起動しない
      MsgBox "Access が起動しています."
      Exit Sub
    Else              '取得できない場合は起動する
      myID = Shell("msaccess.exe", vbNormalFocus)
  End If
  
  MsgBox "Access起動テスト" & Chr(13) & _
         "No.3 を終了します."
End Sub
'-----------------------------------------


VBAPI No.2 へ戻る.
VBAPI No.4 へ移る.                        back top