Перво-наперво: вы всегда должны по возможности использовать строго типизированные переменные. В этом случае вы можете заменить Object
на Office.FileDialog
.
Чтобы отобразить пути к каждому выбранному файлу, вам нужно перебрать коллекцию SelectedItems
. Например, вы бы добавили следующий код:
Dim f As Office.FileDialog
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
' Show the dialog. If the method returns True, the user picked at least one file.
' If the method returns False, the user clicked Cancel.
If f.Show Then
MsgBox f.SelectedItems.Count & " file(s) were chosen."
' Display the full path to each file that was selected
Dim i As Integer
For i = 1 To f.SelectedItems.Count
MsgBox f.SelectedItems(i)
Next i
End If
Обратите внимание, что FileDialog
также имеет другие свойства, которые вы можете установить, если вам требуется настройка. Например, свойство .Title
позволяет указать заголовок, который будет отображаться в качестве заголовка диалога в строке заголовка. Вы также можете указать фильтр, используя свойство .Filter
, которое будет ограничивать тип файлов, которые пользователь сможет видеть и выбирать в диалоговом окне. Например, если вы хотите ограничить выбор только доступом к базам данных, вы можете добавить следующий код:
' Clear out the current filters
f.Filters.Clear
' Add a few custom filters
f.Filters.Add "Access Databases", "*.mdb"
f.Filters.Add "All Files", "*.*"