Windows 8 & Office 2013 Access 2013

マクロのコード変換は独立マクロで(埋め込みマクロではできない)

投稿日:2017年1月20日 更新日:

Access2007以降(拡張子accdb)では、[コマンドボタンウィザード]や[マクロビルダー]を使ってボタンを作成すると、[埋め込みマクロ]が作成されます。

独立マクロと埋め込みマクロの違いを知って使い分け

Accessのマクロには、独立マクロと埋め込みマクロというのがあります。 独立マクロは、マクロを個別に作成して、後でオブジェクトのプロパティ ...

続きを見る

埋め込みマクロと独立マクロ(Access2007)

通常の独立マクロであれば、[マクロをVisual Basicに変換]でコードに変換できるのですが、この埋め込みマクロは変換できません。

ただ、埋め込みマクロの仕様は見ることができるので、一度、埋め込みマクロをマクロ作成で作成し直し、Visual Basicに変換することはできます。

参考拡張子が[mdb]の場合は、イベントプロシージャとなりますのでコードを確認できます。

レコードの検索ボタンをウィザードで作成

ここでは、[レコードの検索]ボタンを作成します。

フォームをデザインビューで開き[デザイン]タブの[ボタン]をクリックします。

このとき[コントロールウィザードの使用]はオンにしています。(既定)

コマンドボタンの作成

[コマンドボタン ウィザード]から[レコードの移動]と[レコードの検索]を選択して[次へ]ボタンをクリックします。

コマンドボタンウィザード

ここでは、[文字列]を選択して[次へ]ボタンをクリックします。

コマンドボタンウィザードで文字列かピクチャを選択

ボタン名を付けて、[完了]ボタンをクリックします。

コマンドボタンウィザードの[完了]

これで、レコードの検索ボタンが作成されます。

そして、コマンドボタンのプロパティを見ると、[イベント]タブの[クリック時]に[埋め込みマクロ]と表示されています。

プロパティシートの[イベント]タブのクリック時[埋め込みマクロ]

フォームビューに切り替えて、[レコードの検索]ボタンをクリックすると、[検索と置換]ダイアログボックスが表示されます。

レコードの検索をクリックして[検索と置換]ダイアログボックスを表示

参考コントロールウィザードで作成できるボタンの種類と動作については、以下の記事で解説しています。

コマンドボタンウィザードを使用したボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

埋め込みマクロの詳細

フォームのデザインビューで、この埋め込みマクロの詳細をみてみます。

[埋め込みマクロ]右横のビルドボタン[…]をクリックします。

プロパティの[イベント]-[クリック時]

以下のようになっています。

埋め込みマクロ

埋め込みマクロの[マクロをVisual Basicに変換]ボタンは無効

コードに変換しようとしても、[デザイン]タブの[ツール]グループにある[マクロをVisual Basicに変換]ボタンは無効になっています。

無効になっている[マクロをVisualBasicに変換]ボタン

独立マクロの作成

通常のマクロであればコードに変換はできるので、埋め込みマクロを参照して同じマクロを作成します。

[作成]タブの[マクロとコード]グループにある[マクロ]をクリックします。

[作成]タブの[マクロ]

埋め込みマクロと同じようにマクロアクションを設定して、マクロに名前を付けて保存します。

マクロに名前を付けて保存

参考独立マクロの作成については、以下の記事で解説しています。

独立マクロを作成してフォームを開くボタンを設置

Accessで作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、独立マクロを作成してボタンに登録する方法を解説し ...

続きを見る

独立マクロをVisual Basicに変換

作成した独立マクロをデザインビューで開き、[デザイン]タブの[ツール]グループにある[マクロをVisual Basicに変換]ボタンをクリックします。

[デザイン]タブの[マクロをVisualBasicに変換]ボタン

[マクロの変換]ウィンドウが表示されますので、[変換]ボタンをクリックします。

[マクロの変換]ダイアログボックス

VBEが開き、変換されたコードを見ることができます。

変換されたコード

参考Access2003では、[ツール]メニューから[マクロ]-[マクロをVisual Basicに変換]をクリックします。

Excelからインポートする操作をマクロで作成

Access2003では、Excelのワークシートをインポートすることができます。 [ファイル]メニューの[外部データの取り込み]-[インポ ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 8 & Office 2013 Access 2013

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.