- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-04-28T11:15:59+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};};
- [[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/};};