AccesをExcelVBAで制御する
Sub Accessをオブジェクトとして扱う() Dim objAcc As Access.Application, tmpState As XlWindowState Dim myMDB As String 'Accessをオブジェクトとして生成 Set objAcc = New Access.Application '接続するmdbファイルを指定 myMDB = ThisWorkbook.Path & "\mdb\4-sampleDB.mdb" With objAcc '対象データベースをAccessで開く .OpenCurrentDatabase myMDB 'Accessを画面上に表示する .Visible = True tmpState = Application.WindowState 'Excelを一時的に最小化してメッセージ Application.WindowState = xlMinimized AppActivate "Microsoft Excel" MsgBox "Accessを起動しました。これからAccessを閉じます。" '対象データベース閉じる .CloseCurrentDatabase .Quit End With Application.WindowState = tmpState Set objAcc = Nothing End Sub
オブジェクト型変数にAccessアプリケーションのインスタンスを代入
Set オブジェクト型変数 = New Access.Application
新規にNewキーワードで作成されたAccessアプリケーションは、そのままでは画面表示されない。
ExcelVBAからAccessを扱うには参照設定が必要
Access2003 Microsoft Access 11.0 Object Library
Access2002 Microsoft Access 10.0 Object Library
Access2000 Microsoft Access 9.0 Object Library
実行結果