フォルダーを固定できない場合など、使用者にフォルダーをその都度選択してほしい場合に便利な機能です。
目次
ダイアログボックスを使ってフォルダ内の全ファイルをコピーする



Sub ダイアログボックスを表示して全ファイルをコピー()
Set myFS0 = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
MsgBox "コピー元のフォルダを選択してください"
.Show 'Showメソッドでダイアログボックスを表示
from_dir = .SelectedItems(1) '選択したフォルダーのデータを代入
MsgBox "コピー先のフォルダを選択してください"
.Show
to_dir = .SelectedItems(1)
End With
myFS0.CopyFile from_dir & "\*.*", to_dir & "\" 'CopyFileメソッドを使用
MsgBox to_dir & "へのコピーを完了しました"
End Sub
フォルダをユーザーに選択させるには
ダイアログボックスを表示して、ユーザーにフォルダを選択させる方法はいくつかあります。ここではApplicationオブジェクトのFileDialogプロパティを使った方法を紹介します。
Application.FileDialogは、ファイル操作のためのダイアログボックスを表すFileDialogオブジェクトを返すプロパティです。
FileDialogプロパティ
書式:Applicationオブジェクト.FileDialog(ダイアログボックスの種類)
解説:ダイアログボックスの種類で指定したダイアログボックスのFileDialogオブジェクトを返します。ダイアログボックスの種類は次の定数で指定します。
- FileDialogプロパティで指定できる定数
種類 | 定数 | 値 |
ファイルを選択 | msoFileDialogFilePicker | 3 |
フォルダを選択 | msoFileDialogFolderPicker | 4 |
ファイルを開く | msoFileDialogOpen | 1 |
ファイルを保存 | msoFileDialogSaveAs | 2 |
コメント