Microsoft Access Club >VBA物語 >このページ >次頁 < 前項  サイト内検索


マクロをVBAに変換 : VBA物語05-2



Accessには、マクロをVBAに変換できる機能が備わっています。この機能は、マクロで記述した命令文をVBAに忠実に変換します。変換方法は、大別すると下記のとおり2通りあります。

イベントプロシージャへ変換
  • フォームやレポートといったマクロを記述されているオブジェクト(フォームやレポート)をデザインビューで開 いてから変換する方法。イベントプロシージャに変換します。
ジェネラルプロシージャへ変換
  • デーベースウィンドウのマクロを変換する方法。これは、ジェネラルプロシージャに変換します。

マクロをイベントプロシージャへ変換

変換を行う手順は以下のとおりです。

  1. 変換を行うフォーム、又はレポートをデザインビューで開きます。
  2. 一例として、フォーム(frm_sample_3)を取り上げます。
    このフォームにはコマンドボタンのクリック時イベントに、下記のマクロを配置しています。

  1. メニューバー → ツール → マクロ にある「フォームマクロをVisualBasicに変換」をクリックします。
  2. 下図のダイアログが表示されます。

  1. [変換]ボタンをクリックします。
オプション機能
エラー処理コードを追加する
  • マクロでは、命令文に何らかの事情でエラーが発生した場合、 マクロの「エラー表示メッセージ」が起動されるようにプログラムされていますが、 VBAでは独自のエラー処理プログラムを記述しないと、Accessの動作が停止します。 よって、極力エラー処理を組み込むようにして下さい。
コメントを含める
  • マクロのコメント欄に記述された語句をVBA内に記述することができます。 一般的に、命令文の解説を記述していた方が後々 判別しやすくなるので、含めることをお勧めします。
    なお、マクロのコメント欄が空白であれば、 変換後のVBAでも空白になる事は云うまでもありません。
  1. マクロをVBAに変換し終わると、下記のようなプロシージャが作成されます。

  1. コメントの先頭には必ず 'を記述します。すると、以下のその行はコメントと判断され、プログラムが実行されません。
  2. DoCmd.OpenForm…以下は、先に記述した DoCmd.OpenForm "frm_sample"と若干異なっていますね。
  3. ,acNormal,"","", , acNormal は、省略が可能な引数です。マクロからの変換では、 省略されずに記述されています。
  4. On Error GoTo cmd_コマンドボタン_Click_Err が作成されています。これがエラー処理の枕言葉 となり、cmd_コマンドボタン_Click_Err以下の部分がエラー発生時に実行されます。

このエラー処理については、次回詳しくお知らせする予定です。では…。

2004/03/29

ページの先頭へ 前ページへ戻る


マクロをVBAに変換 : VBA物語05-2


 

-Microsoft Access Club-