前のページに引き続き、 ファイルダイアログオブジェクトについて具体的な使用例をそれぞれ挙げていきます。
使用例
エクセルファイルを開く(msoFileDialogOpen)
ファイルダイアログオブジェクトでファイルを開く例です。この例では、複数ファイルの選択を可能にし、ファイルフィルタと初期表示フォルダの設定を行っています。ファイルを選択して OK ボタンを押すと、選択したファイルを開いた後、ファイルパスの一覧をメッセージボックスに表示します。
この例ではエクセル以外のファイルも開くことはできますが、拡張子にかかわらずすべてエクセルで開いてしまいます。
ファイルダイアログオブジェクトの使用方法やプロパティとメソッドについては前ページ(以下のリンク先)を参照してください。
Sub sample_ef014_03()
Dim strFiles As String
Dim i As Integer
With Application.FileDialog(msoFileDialogOpen)
'ファイルの複数選択を可能にする
.AllowMultiSelect = True
'ファイルフィルタのクリア
.Filters.Clear
'ファイルフィルタの追加
.Filters.Add "エクセルブック", "*.xls*"
'初期表示フォルダの設定
.InitialFileName = "C:¥Users¥Guest¥test¥"
If .Show = -1 Then 'ファイルダイアログ表示
' [ OK ] ボタンが押された場合
'ファイルオープン実行
.Execute
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)を設定したため、初期表示画面にはエクセルブックのみ表示されます。
ファイルを複数選択してみます。複数のファイルを選択するには Shift または Ctrl キーを押した状態でファイルをクリックします。この例では Shit キーを押した状態でファイルをクリックしています。ファイルを選択したら、OK ボタンを押下します。
選択した2つのファイルを開いた後、ファイルのパスが正しく表示されました。
なお、ファイル選択画面で キャンセル ボタンを押下すると、下記メッセージが表示されます。
エクセルファイルを保存する(msoFileDialogSaveAs)
ファイルダイアログオブジェクトでエクセルファイルを保存する例です。ファイル保存のため、AllowMultiSelect プロパティや Filters プロパティの設定は不要です。保存先ファイルを指定して OK ボタンを押すと、ファイルを保存した後、そのファイルパスをメッセージボックスに表示します。
ファイルダイアログオブジェクトの使用方法やプロパティとメソッドについては前ページ(以下のリンク先)を参照してください。
Sub sample_ef014_04()
With Application.FileDialog(msoFileDialogSaveAs)
'初期表示フォルダの設定
.InitialFileName = "C:¥Users¥Guest¥test¥"
If .Show = -1 Then
' [ OK ] ボタンが押された場合
'ファイルの保存実行
.Execute
MsgBox "以下のファイルに保存されました。" & _
vbLf & .SelectedItems(1), vbInformation
Else
' [ キャンセル ] ボタンが押された場合
MsgBox "ファイルの保存がキャンセルされました。", vbExclamation
End If
End With
End Sub
上記サンプルマクロを実行すると、ファイル保存画面が表示されます。このメソッドはエクセルファイルを保存することを想定としているため、初期表示画面にはエクセルブックのみ表示されます。
保存するファイル名を入力し、ファイルの種類を選択します。
OK ボタンを押下するとエクセルファイルが保存されます。
フォルダを確認すると、ファイルが保存されていることがわかります。
なお、ファイル保存画面で キャンセル ボタンを押下すると、下記メッセージが表示されます。