ダイアログボックスでフォルダを選択する

フォルダーを固定できない場合など、使用者にフォルダーをその都度選択してほしい場合に便利な機能です。

目次

ダイアログボックスを使ってフォルダ内の全ファイルをコピーする

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プロパティで指定できる定数
種類定数
ファイルを選択msoFileDialogFilePicker3
フォルダを選択msoFileDialogFolderPicker4
ファイルを開くmsoFileDialogOpen1
ファイルを保存msoFileDialogSaveAs2
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次