「東雲 忠太郎」の平凡な日常のできごと

2024/02/10(土)06:20

ExcelVBAからAccessVBAを呼び出す方法

VBA(41)

Excel VBA から Access VBA を呼び出す方法は、通常、Access データベースを開いて、その中の関数やサブルーチンを実行することで行われます。以下に、Excel VBA から Access データベースを開いて関数を呼び出す方法を示します。 まず、Microsoft Access ライブラリを参照に追加する必要があります。これにより、Access データベースを Excel VBA から操作するための機能が利用できるようになります。 Excel を開きます。 [Alt] + [F11] キーを押して Visual Basic for Applications (VBA) エディタを開きます。 [ツール] メニューから [参照設定] を選択します。 リストから "Microsoft Access xx.x Object Library" を選択し、[OK] をクリックして追加します。 次に、以下のようなコードを Excel VBA プロジェクトに追加します。 vba Copy code Sub CallAccessFunction()     Dim appAccess As Object ' Access.Application     Dim dbName As String     Dim functionResult As Variant          ' Access データベースのパスを設定     dbName = "C:\Path\To\Your\Database.accdb" ' データベースのパスを変更してください          ' Access.Application オブジェクトを作成     Set appAccess = CreateObject("Access.Application")          ' Access データベースを開く     appAccess.OpenCurrentDatabase dbName          ' Access 内の関数を呼び出す(例: 関数名 "MyFunction")     functionResult = appAccess.Run("MyFunction")          ' 必要に応じて関数の戻り値を使って何かを行う     Debug.Print "Function Result: " & functionResult          ' Access を閉じる     appAccess.Quit          ' オブジェクトの解放     Set appAccess = Nothing End Sub このコードでは、Access データベースのパス(dbName)を設定し、Access.Application オブジェクトを作成してデータベースを開きます。その後、Run メソッドを使用して Access 内の関数(MyFunction と仮定)を呼び出し、その結果を取得します。最後に、Access を閉じ、作成した Access.Application オブジェクトを解放します。 Access 内の関数の引数を渡す場合は、Run メソッドの第二引数以降に引数を指定します。詳細については、VBA のドキュメントを参照してください。

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る