Поделиться через


Объект FileDialog (Office)

Обеспечивает для диалогового окна файлов функциональность, схожую со стандартными диалоговыми окнами Открыть и Сохранить приложений Microsoft Office.

Примечания

Чтобы вернуть объект FileDialog, используйте свойство FileDialog. Свойство FileDialog находится в объекте Application каждого отдельного приложения Office. Свойство принимает один аргумент MsoFileDialogType, который определяет тип объекта FileDialog , возвращаемого свойством. Существует четыре типа объектов FileDialog:

  • Диалоговое окно Открыть: позволяет пользователям выбрать один или несколько файлов, которые можно открыть в ведущем приложении с помощью метода Execute.

  • Диалоговое окно Сохранить как: позволяет пользователям выбрать один файл, в формате которого можно сохранить текущий файл с помощью метода Execute.

  • Диалоговое окно средства выбора файлов: позволяет пользователям выбрать один или несколько файлов. Пути к файлам, выбираемые пользователем, записываются в коллекции FileDialogSelectedItems.

  • Диалоговое окно средства выбора папок: позволяет пользователям выбрать путь. Путь, выбираемый пользователем, записывается в коллекции FileDialogSelectedItems.

Каждое ведущее приложение может создать только один экземпляр объекта FileDialog. Поэтому многие свойства объекта FileDialog сохраняются даже при создании нескольких объектов FileDialog. Следовательно нужно убедиться в правильной установке всех свойств перед отображением диалогового окна.

Пример

Чтобы отобразить диалоговое окно файлов с помощью объекта FileDialog, необходимо использовать метод Show. После отображения диалогового окна не выполняется никакой код, пока пользователь не закроет его. В приведенном ниже примере создается и выводится диалоговое окно средства выбора файлов, а затем отображаются все выбранные файлы в окне сообщения.

Sub Main() 
 
 'Declare a variable as a FileDialog object. 
 Dim fd As FileDialog 
 
 'Create a FileDialog object as a File Picker dialog box. 
 Set fd = Application.FileDialog(msoFileDialogFilePicker) 
 
 'Declare a variable to contain the path 
 'of each selected item. Even though the path is aString, 
 'the variable must be a Variant because For Each...Next 
 'routines only work with Variants and Objects. 
 Dim vrtSelectedItem As Variant 
 
 'Use a With...End With block to reference the FileDialog object. 
 With fd 
 
 'Use the Show method to display the File Picker dialog box and return the user's action. 
 'The user pressed the button. 
 If .Show = -1 Then 
 
 'Step through each string in the FileDialogSelectedItems collection. 
 For Each vrtSelectedItem In .SelectedItems 
 
 'vrtSelectedItem is aString that contains the path of each selected item. 
 'Use any file I/O functions that you want to work with this path. 
 'This example displays the path in a message box. 
 MsgBox "The path is: " & vrtSelectedItem 
 
 Next vrtSelectedItem 
 'The user pressed Cancel. 
 Else 
 End If 
 End With 
 
 'Set the object variable to Nothing. 
 Set fd = Nothing 
 
End Sub

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.