#author("2020-04-28T12:02:16+00:00","default:haikikyou","haikikyou")
#author("2020-04-28T12:02:28+00:00","default:haikikyou","haikikyou")
[[VBA/TIPS]]

#contents


Excelからファイルダイアログを開いてファイルやフォルダのパスを表示するにはApplicationオブジェクトのFileDialogプロパティを使う。

* ファイルを選択 [#c435fd73]

以下は複数のファイルを選択した場合の例である。~
複数のファイルが選択されている場合は、&code(){SelectedItems};コレクションにデータが入っているのでループで回せば取得できる。

#geshi(vb){{{
Sub ボタン1_Click()
    Dim i As Long
 
    With Application.FileDialog(msoFileDialogOpen)
        '複数選択を可能にする場合
        .AllowMultiSelect = True
        
        .Title = "ファイルを選択してください"
        
        'ダイアログを表示
        If .Show = -1 Then
           '選択されたファイルを表示
           For i = 1 To .SelectedItems.Count
               ActiveSheet.Cells(4 + i, 1) = .SelectedItems(i)
           Next i
        End If
        
    End With
 
End Sub
}}}

&ref(./msoFileDialogFilePicker.PNG,100%);
* フォルダを選択 [#k7211cb2]

#geshi(vb){{{
Sub ボタン2_Click()
    Dim i As Long
 
    With Application.FileDialog(msoFileDialogFolderPicker)
        'ダイアログを表示
        If .Show = -1 Then
            '選択されたファイルを表示
            ActiveSheet.Cells(5, 1) = .SelectedItems(1)
        End If
        
    End With
 
End Sub
}}}

&ref(./msoFileDialogFolderPicker.PNG,100%);
* ファイルを開く [#n310e4a3]

#geshi(vb){{{
Sub ボタン3_Click()
    Dim i As Long
 
    With Application.FileDialog(msoFileDialogOpen)
        '開くボタンが押された場合
        If .Show = -1 Then
            .Execute
        End If
 
    End With
 
End Sub
}}}

&ref(./msoFileDialogOpen.PNG,100%);
* ファイルを保存する [#b11e56ad]

#geshi(vb){{{
Sub ボタン4_Click()
    Dim i As Long
 
    With Application.FileDialog(msoFileDialogSaveAs)
        '開くボタンが押された場合
        If .Show = -1 Then
            .Execute
        End If
 
    End With
 
End Sub
}}}

&ref(./msoFileDialogSaveAs.PNG,100%);
* ダイアログに指定できる定数 [#w5705968]

ダイアログの定数に指定できる値は以下のとおり。

|~fileDialogType|~説明|h
|msoFileDialogFilePicker|ファイル選択表示|
|msoFileDialogFolderPicker|フォルダー選択表示|
|msoFileDialogOpen|ファイルを開く表示|
|msoFileDialogSaveAs|ファイルを保存の表示|

* 参考リンク [#h418b2d1]

- [[Application.FileDialog プロパティ (Excel)>https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.filedialog]] - - &size(11){&color(gray){on https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.filedialog};};
- [[FileDialog メンバー (Office)>https://docs.microsoft.com/ja-jp/office/vba/api/overview/library-reference/filedialog-members-office]] - - &size(11){&color(gray){on https://docs.microsoft.com/ja-jp/office/vba/api/overview/library-reference/filedialog-members-office};};
- [[FileDialog メンバー (Office)>https://docs.microsoft.com/ja-jp/office/vba/api/overview/library-reference/filedialog-members-office]] - &size(11){&color(gray){on https://docs.microsoft.com/ja-jp/office/vba/api/overview/library-reference/filedialog-members-office};};
- [[Open Files with VBA FileDialog msoFileDialogOpen>https://wellsr.com/vba/2018/excel/vba-filedialog-open-msofiledialogopen/]] - &size(11){&color(gray){on https://wellsr.com/vba/2018/excel/vba-filedialog-open-msofiledialogopen/};};

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP