HOME > 即効テクニック > AccessVBA > ファイル操作・他アプリケーションとの連携 > マクロのアクションをVBAから実行する

即効テクニック

ファイル操作・他アプリケーションとの連携

マクロのアクションをVBAから実行する

(Access 2000/2002/2003)
● 概要 ●

構文  DoCmd.method


設定項目    内容
method		DoCmdオブジェクトのメソッドを指定[省略不可]

DoCmdオブジェクトは、50種類のメソッドを持っています。これらのメソッドを指定することで、Accessのアクションを実行することができます。
Accessのマクロは、56種類のアクションを持っています。このほとんどが、DoCmdオブジェクトのメソッドと対応しています。
Accessのマクロでは、マクロウィンドウを使って、ドロップダウンリストボックスからアクションを選択していく操作で、一連の処理を行うマクロを作成することがで
きます。同様にVBAでは、DoCmdオブジェクトのメソッドを使って、マクロと同じ処理を行うことができます。次のマクロと、プロシージャDoCmdSampleは、まったく同じ処理を行います。


● サンプル ●
Sub DoCmdSample()
    DoCmd.OpenForm "書籍フォーム"   'フォームを開く
    DoCmd.Maximize                  '最大化
    DoCmd.Minimize                  '最小化
End Sub


● 補足 ●
Accessのマクロを使ったことのある方にとって、DoCmdオブジェクトは親しみやすいものでしょう。
Accessのメニューから[ツール]→[マクロ]→[マクロをVisual Basicに変換]コマンドを実行すると、指定したマクロを、同じ機能を持つプロシージャに、簡単に
変換することができます。このとき、ほとんどのマクロのアクションが、対応するDoCmdオブジェクトのメソッドに変換されます。DoCmdオブジェクトのメソッドとマクロのアクションの関係をまとめると、次のようになります。

・DoCmdオブジェクトのメソッドとマクロのアクションの対応

DoCmdオブジェクト	マクロのアクションのメソッド

CopyObject		オブジェクトのコピー
RepaintObject		オブジェクトの再描画
DeleteObject		オブジェクトの削除
SelectObject		オブジェクトの選択
SendObject		オブジェクトの送信
Save			オブジェクトの保存
Rename			名前の変更
OpenTable		テーブルを開く
OpenQuery		クエリを開く
OpenForm		フォームを開く
OpenReport		レポートを開く
OpenModule		モジュールを開く
OpenStoredProcedure	ストアドプロシージャを開く
OpenDiagram		ダイアグラムを開く
OpenFunction		関数を開く
OpenView		ビューを開く
OpenDataAccessPage	データアクセスページを開く
ShowToolbar		ツールバーの表示
CancelEvent		イベントのキャンセル
RunCommand		コマンドの実行
Requery			再クエリ
ApplyFilter		フィルタの実行
GoToControl		コントロールの移動
GoToPage		ページの移動
RunMacro		マクロの実行
SetWarnings		メッセージの設定
AddMenu			メニューの追加
SetMenuItem		メニューの設定
GoToRecord		レコードの移動
FindRecord		レコードの検索
FindNext		次を検索
ShowAllRecords		全レコードの表示
CopyDatabaseFile	データベースファイルのコピー
TransferDatabase	データベース変換
TransferSpreadsheet	ワークシート変換
TransferText		テキスト変換
Beep			警告音
Echo			エコー
Hourglass		砂時計ポインタ
Minimize		最小化
Maximize		最大化
Restore			元のサイズに戻す
MoveSize		サイズ変更
PrintOut		印刷
OutputTo		出力
TransferSQLDatabase	SQLデータベースの転送
RunSQL			SQLの実行
Close			閉じる
Quit			終了
なし			メッセージボックス
なし			アプリケーションの実行
なし			プロシージャの実行
なし			キー送信
なし			値の代入
なし			全マクロの中止
なし			マクロの中止