Windows 7 & Office 2010 Access 2010

Excelへ出力(エクスポート)するコマンドボタンの作成

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

Access2010でテーブルやクエリをExcelへ出力するマクロを作成して、それをコマンドボタンに登録する方法です。

独立マクロを作成して、コマンドボタンへ登録する方法と、フォームでの埋め込みマクロでの作成を紹介します。

独立マクロの場合は、ウィザードを使用してマクロを設定できます。

フォームの[Exelへ出力]ボタン

エクスポート操作の保存

[エクスポート操作の保存]は、マクロを作成するときに[保存済みのインポート/エクスポート操作の実行]を選択して設定できるようにするための準備です。

マクロで[保存済みのインポート/エクスポート操作の実行]を指定しない場合は、この準備は不要です。

ただ、設定を保存しておくと、マクロを使用しなくても、いつもで呼び出してエクスポートやインポート操作を行うことができます。

Excelへエクスポート操作を保存

出力したいテーブルやクエリを選択して、[外部データ]タブの[エクスポート]グループにある[Excel]をクリックします。

Excelワークシートにエクスポート

選択したオブジェクトを、Microsoft Excelファイル内のExcelワークシートにエクスポートします。

[外部データ]タブの[エクスポート]グループにある[Excel]

[エクスポート-Excelワークシート]ウィザードが起動します。

[ファイル名]や[保存先]、[ファイル形式]を選択します。

エクスポートのオプションもよく読んで、選択してください。

  • 書式設定とレイアウトを保持したままデータをエクスポートする
    テーブル、クエリ、フォーム、またはレポートをエクスポートするときに、書式情報とレイアウト情報をほぼ保持する場合は、このオプションを選択します。
  • エクスポートの完了後にエクスポート先のファイルを開く
    エクスポート操作の結果を表示する場合は、このオプションを選択します。これは、書式設定されたデータをエクスポートする場合のみ使用できます。
  • 選択したレコードのみをエクスポートする
    選択したレコードだけをエクスポートする場合は、このオプションを選択します。これは、書式設定されたデータをエクスポートすることを選択し、レコードを選択した場合のみ使用できます。

参考テーブルで[ハイパーリンク]型のフィールドがある場合は、[書式設定とレイアウトを保持したままデータをエクスポートする]をオンにするとハイパーリンクは、そのまま出力されます。

[OK]ボタンをクリックします。

データのエクスポート先の選択

[エクスポート操作の保存]のチェックボックスをオンにします。

チェックボックスをオンにすると、[名前を付けて保存]などのメニューが表示されます。

分かりやすい名前を付けて、[エクスポートの保存]ボタンをクリックします。

[エクスポート操作の保存]をオンにして[エクスポートの保存]

エクスポート操作が保存されているかを確認

[外部データ]の[エクスポート]グループにある[保存済みのエクスポート操作]をクリックして、先に作成したエクスポート操作が保存されているかを確認します。

[外部データ]の[エクスポート]グループにある[保存済みのエクスポート操作

参考同じ方法でインポート操作も保存できます。

①マクロの作成 [保存済みのインポート/エクスポート操作の実行]

独立マクロの作成方法です。ナビゲーションウィンドウにマクロオブジェクトが作成されます。

[エクスポート操作の保存]が保存されている場合のみ設定できます。

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

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

すべてのアクションを表示]をオンにして、▼をクリックして、一覧の一番下にある[保存済みのインポート/エクスポート操作の実行]を選択します。

[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

マクロアクションの一覧から[保存済みのインポート/エクスポート操作の実行]を選択

[保存済みのインポート/エクスポート操作の名前]で保存した名前を選択します。

保存済みのインポート/エクスポート操作の実行

[Ctrl]+[S]キーを押して、マクロに名前を付けて保存します。

ここでは、[Excelへ出力]という名前にします。

[名前を付けて保存]ダイアログボックス

ナビゲーションウィンドウには、[Excelへ出力]と名付けられたマクロオブジェクトが追加されます。

マクロ[Excelへ出力]

②マクロの作成 [ワークシートのインポート/エクスポート]

上記以外に、Excelへ出力するボタンは、マクロツールの[すべてのアクションを表示]ボタンをクリックして、[ワークシートのインポート/エクスポート]を選択して作成することもできます。

注意Access2013以降には、[ワークシートのインポート/エクスポート]はありません。

Access2010のマクロアクション[ワークシートのインポート/エクスポート]

[変換の種類]で[エクスポート]を選択します。

マクロに名前を付けて保存します。

マクロアクション[ワークシートのインポート/エクスポート]の設定

参考Access2010のマクロアクションについては、以下の記事でも解説しています。

マクロアクション[出力]の代替は[書式設定を保持したままエクスポート]

Access2003のマクロアクションには、[出力]があり、これまでよく使っていました。 すべてのデータをExcelへ出力したほうが、何かと ...

続きを見る

③マクロの作成 [書式設定を保持したままエクスポート]

マクロアクションの一覧から[書式設定を保持したままエクスポート]を選択して、Access2003やAccess2007のときのマクロアクション[出力]と同じように設定することもできます。

[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

マクロアクションの[書式設定を保持したままエクスポート]

作成済みのテーブルやクエリを指定して設定します。

マクロアクション[書式設定を保持したままエクスポート]の設定

出力ファイル形式には、以下の9個の種類があります。

  • Excel 97-2003 ブック (*.xls)
  • Excel バイナリ ブック (*.xlsb)
  • Excel ブック (*.xlsx)
  • HTML (*.htm; *.html)
  • Microsoft Excel 5.0/95 ブック (*.xls)
  • PDF 形式 (*.pdf)
  • XPS 形式 (*.xps)
  • テキスト ファイル (*.txt)
  • リッチ テキスト形式 (*.rtf)

出力ファイル形式の一覧

マクロに名前を付けて保存します。

参考以下は、Access2007での解説です。

Excelへ出力するコマンドボタンの作成(Access2007)

コマンドボタンを作成して独立マクロを登録

上記のいずれかの方法で作成した独立マクロを、コマンドボタンに登録します。

コマンドボタンウィザードは、独立マクロを作成した場合のみ使用できます。

コマンドボタンを作成したいフォームをデザインビューで開きます。

[フォームデザインツール]の[デザイン]-[コントロール]にある[ボタン]をクリックします。

[フォームデザインツール]の[デザイン]-[コントロール]にある[ボタン]

ボタンを作成したい位置にドラッグします。

[コントロールウィザードの使用]は、オンにしておきます。

コントロールウィザードの確認

コマンドボタンウィザードを使用しないでも作成できます。Accessに少し慣れてきた場合は、ウィザードを使用しないほうが簡単だと思います。

コマンドボタンウィザードを使用しない場合

コマンドボタンウィザードで設定

[コマンドボタンウィザード]が起動したら、[その他]から[マクロの実行]を選択します。

[次へ]ボタンをクリックします。

コマンドボタンウィザードで[マクロの実行]を選択

作成済みのマクロ[Excelへ出力]を選択します。[次へ]ボタンをクリックします。

コマンドボタンウィザードで作成済みのマクロを選択

[文字列]か[ピクチャ]を選択するようになっていますが、これは完成後にプロパティで変更できます。

文字列もピクチャも両方を表示することもできます。

[文字列]か[ピクチャ]を選択して、[次へ]ボタンをクリックします。

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

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

コマンドボタンウィザードでボタンの名前を付けて完了

フォームデザインビューの[Excelへ出力]ボタン

コマンドボタンウィザードを使用しない場合の設定

コマンドボタンウィザードを使用せずに、コマンドボタンのプロパティで設定することもできます。

コマンドボタンのプロパティを表示します。

キーボードから[F4]キーを押すと、プロパティの表示/非表示を切り替えられます。

プロパティの[イベント]タブにある[クリック時]の▼ボタンを押すと、マクロ名が表示されますので、目的のマクロ名を選択します。

コマンドボタンのプロパティ[クリック時]で作成済みのマクロを指定

参考以下の記事でもウィザードを使用せずに、プロパティのクリック時イベントでマクロを指定しています。

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

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

続きを見る

埋め込みマクロで[メニューコマンドの実行]

独立マクロは、作成した後コマンドボタンへ登録しますが、埋め込みマクロは、フォームのコマンドボタンへマクロを直接設定します。

複数のボタンへマクロを設定したい場合は、独立マクロが便利だと思います。しかし、オブジェクトは増えます。

[埋め込みマクロ]であればオブジェクトは増えることはありませんので、管理は楽になると思います。

[埋め込みマクロ]と[独立マクロの違い]については、以下の記事で解説しています。

ボタンをクリックしてフォームを開く(マクロビルダーで設定)

Accessで作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、[ビルダーの選択]ダイアログボックスで[マクロビ ...

続きを見る

埋め込みマクロでも、[保存済みのインポート/エクスポート操作の実行]と[書式設定を保持したままエクスポート]もマクロアクションから選択して設定できます。

もし、テーブル/クエリを基に作成したフォームであればもっと簡単に設定することもできます。

ここでは、[新しいアクションの追加]のプルダウンから選択する方法で解説していますが、[アクションカタログ]から追加する方法もあります。

マクロツールで既存のアクションをコピーして活用(再利用)するには

Accessでは多くのマクロアクションが使用できます。 しかし、毎回アクションを選択して入力するのは面倒ですね。 マクロアクションは、コピー ...

続きを見る

フォームのデザインビューで操作

以下のフォームは、クエリを基に作成されています。

フォームのプロパティシートを開いて、[データ]タブの[レコードソース]を確認します。

テーブルかクエリが表示されていると思います。

このテーブル/クエリのデータをそのままExcelへ出力する方法です。

フォームのプロパティ[レコードソース]

フォームに作成した[出力]コマンドボタンのプロパティを表示します。

[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。

[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。

[イベント]タブの[クリック時]の[ビルダー選択]ボタン

[マクロツール]ウィンドウが表示されますので、マクロアクションの一覧から[メニューコマンドの実行]を選択します。

少し下へスクロールすると、見つかると思います。

マクロアクションの一覧から[メニューコマンドの実行]を選択

[コマンド]のプルダウンから、[Excelファイルへのエクスポート]を選択します。

上書き保存して閉じます。

メニューコマンドの実行のコマンドで[Excelファイルへのエクスポート]を選択

プロパティのクリック時には、[埋め込みマクロ]と表示されます。

コマンドボタンのプロパティ

フォームビューで確認

フォームビューに切り替えて、[出力]ボタンをクリックします。

フォームビューの[出力]ボタン

[データのエクスポート先の選択]ダイアログボックスが表示されます。

設定できるのは、[参照]ボタンをクリックして場所と名前の指定と、エクスポートの完了後にファイルを開くかどうかです。

[データのエクスポート先の選択]ダイアログボックス

[エクスポートの完了後にエクスポート先のファイルを開く]のチェックボックスをオンにしておくと、テーブル/クエリのデータが出力されたExcelファイルが起動します。

出力後起動したExcelファイル

[データのエクスポート先の選択]ダイアログボックスの[OK]ボタンをクリックすると、[エクスポート操作の保存]ダイアログボックスが表示されます。

[エクスポート操作の保存]のチェックボックスをオンにすると、操作を保存できます。

[エクスポート操作の保存]ダイアログボックス

[Excelに出力]を選択

[マクロツール]ウィンドウが表示されますので、マクロアクションの一覧から[メニューコマンドの実行]を選択します。

そして、[コマンド]のプルダウンメニューから[Excelに出力]を選択します。

[Excelファイルへのエクスポート]を選択した場合は、[データのエクスポート先の選択]ダイアログボックスが毎回表示されますが、[Excelに出力]の場合は出力のみです。

出力後のExcelファイルは起動します。単純にExcelに出力のみであれば、これが一番簡単かもしれません。

[メニューコマンドの実行]は、コマンドの呼び出しのみの指定になります。

メニューフォームのようにフォーム作成の基になるテーブルやクエリがない場合は使用できません。

[メニューコマンドの実行]で[Excelに出力]を選択

以下の記事でも、出力ボタンを埋め込みマクロで設定する方法を解説しています。

クエリの抽出条件にテキストボックスの値を設定してレコードを抽出

Accessのクエリでレコードを抽出する方法です。 クエリの抽出条件には、フォームのテキストボックスの値を指定することができます。 また、ク ...

続きを見る

注意65,000件以上の出力は、書式設定を保存したままエクスポートを選択すると出力できません。

65000件以上のレコードのエクスポートは書式設定なしで出力

Access2013で7万レコード以上あるテーブルをExcelへエクスポートするマクロを作成しようとしたら、以下のメッセージが表示されました ...

続きを見る

関連[埋め込みマクロ]として設定もできます。

Excelへ出力するためのボタンを設置

フォームを参照用と編集用にボタンで切り替え(埋め込みマクロで設定)

Accessで1つのフォームを作成して、すべての内容を見せてレコードの編集ができるようにしています。 でも、そのフォームを開く時に制限を付け ...

続きを見る

以下の記事では、PDFの作成を[エクスポート操作の保存]をして[埋め込めマクロ]として設定する方法を解説しています。

オブジェクトをPDFで保存するには(コマンドボタンの作成までを解説)

AccessのレポートをPDFで保存する方法です。レポートだけでなく、フォームなどもPDFで保存することができます。 また、エクスポート操作 ...

続きを見る

コマンドボタンはウィザードを使って作成した場合、少し注意しなければならないことがあります。以下の記事を参照してください。

コマンドボタンウィザードによるボタン作成後の[埋め込みマクロ]について

Accessでは、ウィザードを使用して簡単にボタンを作成することができます。 これについては、ウィザードを使ったコマンドボタンの作成で解説し ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 7 & Office 2010 Access 2010

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

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