FileDialogオブジェクトの概要

ユーザーに入力ファイルや出力ファイルなどを選択させるにはファイルダイアログオブジェクトを使用します。ファイルダイアログオブジェクトを使用すると、ユーザーによる入出力ファイルの選択以外にも、フォルダの選択とファイルのオープンが可能になります。

スポンサーリンク

ファイルダイアログの表示イメージ

『ファイルを選択する』(msoFileDialogFilePicker)の表示イメージ

ファイルダイアロの表示例
ファイルダイアロの表示例

ファイルダイアログオブジェクトでできること

  • ユーザーによるファイルの選択
    パソコン画面上にファイル選択ダイアログを表示し、ユーザーによるファイル選択が可能になります。 選択されたファイルはプログラム上でフルパスとして受け取ることができます。 ファイル選択ダイアログにおけるファイルの複数選択や、ファイルフィルタなどはファイルダイアログオブジェクトのプロパティにより設定が可能です。
  • ユーザーによるフォルダの選択
    パソコン画面上にフォルダ選択ダイアログを表示し、ユーザーによるフォルダ選択が可能になります。 選択されたフォルダはプログラム上でフルパスとして受け取ることができます。
  • ユーザーによるファイルのオープン
    パソコン画面上にファイル選択ダイアログを表示し、ユーザーによるファイルのオープンが可能になります。 ファイル選択ダイアログにおけるファイルの複数選択や、ファイルフィルタなどはファイルダイアログオブジェクトのプロパティにより設定が可能です。
  • ユーザーによる出力(保存)ファイルの選択
    パソコン画面上にファイル選択ダイアログを表示し、ユーザーによるファイル(アクティブワークブック)の保存が可能になります。 ファイル選択ダイアログにおけるファイルフィルタなどはファイルダイアログオブジェクトのプロパティにより設定が可能です。

FileDialogオブジェクトの使用方法

構文
Application.FileDialog( fileDialogType )

【戻り値】 ファイルダイアログオブジェクト
引数名 省略 説明
fileDialogType × 必須入力です。以下 MsoFileDialogType クラスの定数をいずれか1つ指定します。

msoFileDialogFilePicker
⇒ ユーザーがファイルを選択することができます。

msoFileDialogFolderPicker
⇒ ユーザーがフォルダを選択することができます。

msoFileDialogOpen
⇒ ユーザーがファイルを開くことができます。

msoFileDialogSaveAs
⇒ ユーザーがファイルを保存することができます。

FileDialogオブジェクトのプロパティ・メソッド

ファイダイアログ”オブジェクト”というからには、このオブジェクトを操作するプロパティとメソッドがあります。以下に主なプロパティとメソッドの使用方法について解説します。
※以下、ファイルダイアログオブジェクトを fdo と記述します。

fdo.AllowMultiSelect プロパティ

このプロパティに True を設定すると、ユーザーはファイルダイアログから複数のファイルを選択することが可能になります。このプロパティの設定値はファイルダイアログタイプが 『ファイルを選択する』(msoFileDialogFilePicker)か『ファイルを開く』(msoFileDialogOpen)の場合に意味を持ちます。

※ファイルダイアログ上でファイルを複数選択するには、Shift または Ctrl を押した状態でファイルをクリックします。

fdo.InitialFileName プロパティ

ファイルダイアログに初期表示されるフォルダやファイルパスを設定します。省略するとカレントフォルダが初期表示されます。ファイルパス内のファイル名にはワイルドカードを指定できます。ワイルドカードを指定すると、そのファイル名パターンに合致したファイルが初期表示されます。フォルダパスを設定するとそのフォルダ内のファイルがすべて初期表示されます。この場合、フォルダパスはパス区切り文字で終わるように設定します。パス区切り文字で終わっていないとファイル名欄にフォルダ名が表示されてしまいます。

fdo.Filters プロパティ

このFilters プロパティはファイルダイアログの Filters コレクションを取得します。Filters コレクションの配下にはさらにプロパティとメソッドがあり、よく使うのは以下のメソッド2つです。

Filers.Clear

ファイルフィルタをクリアします。
前の設定値は残ってしまうので、フィルタを追加する前には必ずクリアします。

Filers.Add ( Desctiption, Extensions [, Position] )

ファイルフィルタを追加します。引数 Position を省略すると、追加した順にフィルタが表示されます。

引数名 省略 説明
Desctiption × フィルタ名を表す文字列式を指定します。
Extensions × フィルタを表す文字列式を指定します。 複数のフィルタを指定したい場合は、セミコロン(;)で区切って指定します。
Position フィルタの位置を整数値で指定します。 1 を指定すると、そのフィルタが一番上に表示されます。

fdo.SelectedItems プロパティ

ファイルダイアログ上で選択されたアイテム(ファイルパスやフォルダパス)を表す、FileDialogSelectedItems コレクションを取得します。このコレクションに添字を指定することで個々のアイテムを取得することができます。選択されたアイテムの数を知るには、このコレクション配下の Count プロパティを参照します。

fdo.Show メソッド

ファイルダイアログを表示し、アクションボタン(値:-1)とキャンセルボタン(値:0)のどちらが押されたかを返します。

fdo.Excute メソッド

ファイルダイアログタイプが『ファイルを開く』(msoFileDialogOpen)か、『ファイルを保存する』(msoFileDialogSaveAs)の場合、Show メソッドの直後にこの Exute メソッドを実行する必要があります。このメソッドを実行することで、ユーザーのアクション(ファイルを開く、または、保存する)を実行します。

タイトルとURLをコピーしました