演習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