VBA:AccessのFileDialogを使用して[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム

Access VBA:AccessのFileDialogを使用して[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム

Accessの「FileDialog」オブジェクトを使用して[名前を付けて保存]ダイアログボックスを表示するVBAのサンプルプログラムを覚書。

AccessのVBAでFileDialogオブジェクトを使用する際には、オブジェクトライブラリの参照設定が必要となります。

FileDialogオブジェクトを使用した[名前を付けて保存]ダイアログボックスを表示するサンプルプログラムの動作前提条件

後述するAccessのVBAのサンプルプログラムの動作確認は、Access 2013で行っています。

また、FileDialogオブジェクトを使用する際には必ず[参照設定]で以下のオブジェクトライブラリの参照を有効にしておく必要があります。

参照を有効化するオブジェクトライブラリ

Microsoft Office 15.0 Object Library
※15.0というバージョンは、Accessのバージョンによって異なります。

オブジェクトライブラリの参照手順

以下に「Microsoft Office 15.0 Object Library」の参照手順を記載します。

  1. Accessのリボンツールバーの[作成]タブをクリックする。
  2. [作成]タブの右端にある[Visual Basic]をクリックする。
  3. [Microsoft Visual Basic for Applications]画面(VBAエディタ)が開くので[ツール]メニューの[参照設定]をクリックする。
  4. [参照可能なライブラリ ファイル]の一覧(五十音順に並んでいます)から「Microsoft Office 15.0 Object Library」のチェックをオンにして[OK]をクリックする。
    Microsoft Office 15.0 Object Library

[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム

FileDialogオブジェクトを使用して[名前を付けて保存]ダイアログボックスを出す場合、wizhookオブジェクトを使用した場合の用に自由度はないみたい。

指定できるプロパティとしては、ダイアログボックスのタイトル、[保存]ボタンの文字列の変更、デフォルトのパス(ファイル名)くらい。

保存するファイルの種類を指定(限定)したりすることもできないので、細かな設定が必要な場合は以下の記事を参考にしてwizhookオブジェクトを使用した方が良い。

AccessのVBAで”WizHook”オブジェクトを使用して[ファイルを開く]、[名前をつけて保存]ダイアログボックスを表示する方法について覚書。
AccessのVBAでWizHookオブジェクトを使用してもしくは、ダイアログボックスを表示する際に選択される初期フォルダを任意のフ...

そもそもFileDialogオブジェクトのヘルプを見ると、
「定数 msoFileDialogOpen および定数 msoFileDialogSaveAs は Access ではサポートされていません。」

と明示的に記載されているので、まぁ、仕方ないけれど。

以下[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム


保存する際のファイルの種類(拡張子)くらいは指定したいので、やるならやっぱりwizhookオブジェクトを使う感じかなー。