Диалог выбора файла

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Ivan093
Сообщения: 54
Зарегистрирован: 28 июн 2007, 13:59
Откуда: Екатеринбург
Контактная информация:

Добрый день!
Подскажите, пожалуйста, как вызвать диалог выбора файла (не открытия), чтобы просто получить его полный путь?

Этот код открывает файл сразу:
dlgAnswer = Application.Dialogs(xlDialogOpen).Show
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Пример для выбора файла:

Код: Выделить всё

[color=darkblue]Sub[/color] test()
    [color=darkblue]Dim[/color] ИмяФайла [color=darkblue]As[/color] [color=darkblue]String[/color]
    ИмяФайла = Application.GetOpenFilename("Мои картинки (*.jpg), *.jpg")
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
Тут тоже есть нечто подобное

Пример для выбора папки:

Код: Выделить всё

[color=darkblue]Function[/color] GetFolderPath([color=darkblue]Optional[/color] [color=darkblue]ByVal[/color] Title [color=darkblue]As[/color] [color=darkblue]String[/color] = "Выберите папку", [color=darkblue]Optional[/color] [color=darkblue]ByVal[/color] InitialPath [color=darkblue]As[/color] [color=darkblue]String[/color] = "c:\") [color=darkblue]As[/color] [color=darkblue]String[/color]
    GetFolderPath = "": PS = Application.PathSeparator
    [color=darkblue]With[/color] Application.FileDialog(msoFileDialogFolderPicker)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        [color=darkblue]If[/color] .Show = -1 [color=darkblue]Then[/color] GetFolderPath = .SelectedItems(1): [color=darkblue]If[/color] [color=darkblue]Not[/color] Right$(GetFolderPath, 1) = PS [color=darkblue]Then[/color] GetFolderPath = GetFolderPath & PS
    [color=darkblue]End[/color] [color=darkblue]With[/color]
[color=darkblue]End[/color] [color=darkblue]Function[/color]

[color=darkblue]Sub[/color] ПримерСВыборомПапки()
    [color=green]' например, так:[/color]
    MsgBox GetFolderPath
    [color=green]'или так:[/color]
    MsgBox GetFolderPath("Выберите папку с нужными файлами", "C:\WINDOWS\system32\")
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
Ну и здесь поглядите.
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Код для Excel:

Код: Выделить всё

Sub main()
ИмяФайла = Application.GetOpenFilename
MsgBox ИмяФайла
End Sub
Ответить