このページと次のページでは前のページ(FileDialogグオブジェクトの概要)で解説したファイルダイアログオブジェクトについて、具体的な使用例をそれぞれ挙げていきます。
ファイルダイアログオブジェクトにはある程度決まった使い方がありますので、それをしっかり覚えておきましょう。
使用例
ファイルを選択する(msoFileDialogFilePicker)
ファイルダイアログオブジェクトでファイルを選択する例です。この例では、複数ファイルの選択を可能にし、ファイルフィルタと初期表示フォルダの設定を行っています。ファイルを選択して OK ボタンを押すと、選択したファイルパスの一覧をメッセージボックスに表示します。
ファイルダイアログオブジェクトの使用方法やプロパティとメソッドについては前ページ(以下のリンク先)を参照してください。
Sub sample_ef014_01()
Dim strFiles As String
Dim i As Integer
With Application.FileDialog(msoFileDialogFilePicker)
'ファイルの複数選択を可能にする
.AllowMultiSelect = True
'ファイルフィルタのクリア
.Filters.Clear
'ファイルフィルタの追加
.Filters.Add "エクセルブック", "*.xls*"
.Filters.Add "その他", "*.txt; *.doc*"
'初期表示フォルダの設定
.InitialFileName = "C:¥Users¥Guest¥test¥"
If .Show = -1 Then 'ファイルダイアログ表示
' [ OK ] ボタンが押された場合
For i = 1 To .SelectedItems.Count
strFiles = strFiles & vbLf & .SelectedItems(i)
Next i
MsgBox "以下のファイルが選択されました。" & _
vbLf & strFiles, vbInformation
Else
' [ キャンセル ] ボタンが押された場合
MsgBox "ファイル選択がキャンセルされました。", vbExclamation
End If
End With
End Sub
下図はテスト用の初期表示フォルダの状態です。フォルダ内にはエクセルファイル以外にもテキストファイルやワードファイルがあります。
上記サンプルマクロを実行すると、ファイル選択画面が表示されます。最初のファイルフィルタにエクセルの拡張子(.xls)を設定したため、初期表示画面にはエクセルブックのみ表示されます。
ファイルフィルタにはエクセルブックとその他の2種類が正しく追加されています。
ファイルを複数選択してみます。複数のファイルを選択するには Shift または Ctrl キーを押した状態でファイルをクリックします。この例では Ctrl キーを押した状態でファイルをクリックしています。ファイルを選択したら、OK ボタンを押下します。
選択したファイルのパスが正しく表示されました。
なお、ファイル選択画面で キャンセル ボタンを押下すると、下記メッセージが表示されます。
フォルダを選択する(msoFileDialogFolderPicker)
ファイルダイアログオブジェクトでフォルダを選択する例です。フォルダ選択のため、AllowMultiSelect プロパティや Filters プロパティの設定は不要です。ファイルを選択して OK ボタンを押すと、選択したフォルダパスをメッセージボックスに表示します。
ファイルダイアログオブジェクトの使用方法やプロパティとメソッドについては前ページ(以下のリンク先)を参照してください。
Sub sample_ef014_02()
With Application.FileDialog(msoFileDialogFolderPicker)
'初期表示フォルダの設定
.InitialFileName = "C:¥Users¥Guest¥test¥"
If .Show = -1 Then 'ファイルダイアログ表示
' [ OK ] ボタンが押された場合
MsgBox "以下のフォルダが選択されました。" & _
vbLf & .SelectedItems(1), vbInformation
Else
' [ キャンセル ] ボタンが押された場合
MsgBox "フォルダ選択がキャンセルされました。", vbExclamation
End If
End With
End Sub
下図はテスト用の初期表示フォルダの状態です。フォルダ内にはサブフォルダが2つあります。
上記のサンプルマクロを実行すると、フォルダ選択画面が表示されます。この画面にはフォルダ以外のファイルは表示されません。
フォルダを選択して OK ボタンを押下します。
選択したフォルダパスが正しく表示されました。
なお、フォルダ選択画面で キャンセル ボタンを押下すると、下記メッセージが表示されます。