[VBA] msoFileDialog - tạo cửa sổ để chọn file/ thư mục



Dưới đây là các đoạn mã VBA được sưu tầm từ analystcave.com để giúp người sử dụng tạo 1 cửa sổ (dialog) từ đó chọn file/folder và thực hiện các thao tác tiếp theo.

Chọn 1 file:

Dim fDialog As FileDialog, result As Integer
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
     
'Optional: FileDialog properties
fDialog.AllowMultiSelect = False
fDialog.title = "Select a file"
fDialog.InitialFileName = "C:\"
'Optional: Add filters
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.xlsx"
fDialog.Filters.Add "All files", "*.*"
 
'Show the dialog. -1 means success!
If fDialog.Show = -1 Then
   Debug.Print fDialog.SelectedItems(1)
End If

Chọn nhiều file:

Dim fDialog As FileDialog, result As Integer
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
     
'IMPORTANT!
fDialog.AllowMultiSelect = True
 
'Optional FileDialog properties
fDialog.title = "Select a file"
fDialog.InitialFileName = "C:\"
'Optional: Add filters
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.xlsx"
fDialog.Filters.Add "All files", "*.*"
 
'Show the dialog. -1 means success!
If fDialog.Show = -1 Then
  For Each it In fDialog.SelectedItems
    Debug.Print it
  Next it
End If

Chọn thư mục

Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
 
'Optional: FileDialog properties
fDialog.title = "Select a folder"
fDialog.InitialFileName = "C:\"
 
If fDialog.Show = -1 Then
  Debug.Print fDialog.SelectedItems(1)
End If
Lưu ý: msoFileDialogFolderPicker chỉ cho phép chọn 1 thư mục và không hỗ trợ chức năng filter file
[VBA] msoFileDialog - tạo cửa sổ để chọn file/ thư mục [VBA] msoFileDialog - tạo cửa sổ để chọn file/ thư mục Reviewed by Le Huy Hoang on December 25, 2017 Rating: 5

No comments:

Powered by Blogger.