'---------------------------------------------------------------------- '呼び出し元 '---------------------------------------------------------------------- 'Excel '---------------------------------------------------------------------- Sub CommandButton1_Click() '別のAccessを立ち上げ、 'Test'というモジュールを実行します 'VBEメニューの「参照設定」で「Miclosoft Access 8.0 Object Library」(2000では9.0)をバインドする必要があります。 Dim appAccess As Access.Application Dim wPath As String Dim a As String 'Accessのインスタンスを作成します Set appAccess = New Access.Application 'カレントパスにあるCallAccTarget.mdbを開きます。 appAccess.OpenCurrentDatabase ThisWorkbook.Path & "\CallAccTarget.mdb", False 'CallAccTarget.mdbの標準モジュールにあるtestというサブプロシジャを実行します '実行の際に引数に値を渡しています。 a = "(^o^)丿(^o^)丿(^o^)丿(^o^)丿(^o^)丿(^o^)丿" appAccess.Run "test", a '作成したAccessのインスタンスを閉じます appAccess.Quit acQuitSaveNone 'testというサブプロシジャからかえってきた値を表示します MsgBox a 'オブジェクト変数を開放します Set appAccess = Nothing End Sub '---------------------------------------------------------------------- 'Access '---------------------------------------------------------------------- Private Sub コマンド0_Click() '別のAccessを立ち上げ、 'Test'というモジュールを実行します Dim appAccess As Access.Application Dim wPath As String Dim a As String '新しくAccessのインスタンスを作成します Set appAccess = New Access.Application wPath = CurrentDb.Name '最後に\が付いたカレントパスを取得します wPath = Left$(wPath, InStr(wPath, Dir$(wPath)) - 1) 'カレントパスにあるCallAccTarget.mdbを開きます。 appAccess.OpenCurrentDatabase wPath & "CallAccTarget.mdb", False 'CallAccTarget.mdbの標準モジュールにあるtestというサブプロシジャを実行します '実行の際に引数に値を渡しています。 a = "(^o^)丿(^o^)丿(^o^)丿(^o^)丿(^o^)丿(^o^)丿" appAccess.Run "test", a '作成したAccessのインスタンスを閉じます appAccess.Quit acQuitSaveNone 'testというサブプロシジャからかえってきた値を表示します MsgBox a 'オブジェクト変数を開放します Set appAccess = Nothing End Sub '---------------------------------------------------------------------- '呼び出されるAccessのモジュール '---------------------------------------------------------------------- Sub Test(prm As String) '呼びもとのメッセージを表示します。 MsgBox "ファイル名=" & CurrentDb().Name & vbCr & vbCr & "引数=" & prm '呼びもとにメッセージをかえします。 prm = "無事終了 (・_・)(・_・)(・_・)(・_・)(・_・)(・_・)(・_・)(・_・)(・_・)(・_・)" End Sub