Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как руками указать выбор директории? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как руками указать выбор директории? (Макросы/Sub)
Как руками указать выбор директории?
ant6729 Дата: Суббота, 18.11.2017, 14:24 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Добрый день... кот кусок моего кода, но предполагаю, что лучше будет указывать путь для местонахождения файлов "руками"
[vba]
Код
Sub fffff()

Dim wb2 As Workbook
Dim myPath2 As String
Dim myFile2 As String
Dim myExtension2 As String

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

myPath2 = "G:\"
myExtension2 = "tt.xlsx"
myFile2 = Dir(myPath2 & myExtension2)
  
Set wb = Workbooks.Open(Filename:=myPath2 & myFile2)

Dim wb_ As Workbook
Dim lc As Variant
fp_ = "G:\34\"
fn_ = Dir(fp_ & "*.xls*", vbNormal)
On Error Resume Next
Do While fn_ <> ""
[/vba]

Хочу понять, как прописать [vba]
Код
fp_ = "G:\34\"
[/vba], чтобы открывалось окно для указания папки, файлы которой будут в коде перебираться
Подскажите, пожалуйста, как это сделать, затрудняюсь найти самостоятельно...
 
Ответить
СообщениеДобрый день... кот кусок моего кода, но предполагаю, что лучше будет указывать путь для местонахождения файлов "руками"
[vba]
Код
Sub fffff()

Dim wb2 As Workbook
Dim myPath2 As String
Dim myFile2 As String
Dim myExtension2 As String

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

myPath2 = "G:\"
myExtension2 = "tt.xlsx"
myFile2 = Dir(myPath2 & myExtension2)
  
Set wb = Workbooks.Open(Filename:=myPath2 & myFile2)

Dim wb_ As Workbook
Dim lc As Variant
fp_ = "G:\34\"
fn_ = Dir(fp_ & "*.xls*", vbNormal)
On Error Resume Next
Do While fn_ <> ""
[/vba]

Хочу понять, как прописать [vba]
Код
fp_ = "G:\34\"
[/vba], чтобы открывалось окно для указания папки, файлы которой будут в коде перебираться
Подскажите, пожалуйста, как это сделать, затрудняюсь найти самостоятельно...

Автор - ant6729
Дата добавления - 18.11.2017 в 14:24
alex77755 Дата: Суббота, 18.11.2017, 14:43 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

[vba]
Код
выбор папки

Sub ShowFolderDialog()
    Dim oFD As FileDialog
    Dim x, lf As Long
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = Application.FileDialog(msoFileDialogFolderPicker)
    With oFD 'используем короткое обращение к объекту
    'так же можно без oFD
    'With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выбрать папку с отчетами" 'заголовок окна диалога
        .ButtonName = "Выбрать папку"
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .InitialFileName = "C:\Temp\" 'назначаем первую папку отображения
        .InitialView = msoFileDialogViewLargeIcons 'вид диалогового окна(доступно 9 вариантов)
        If oFD.Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        x = .SelectedItems(1) 'считываем путь к папке
        MsgBox "Выбрана папка: '" & x & "'", vbInformation, "www.excel-vba.ru"
    End With
End Sub
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщение[vba]
Код
выбор папки

Sub ShowFolderDialog()
    Dim oFD As FileDialog
    Dim x, lf As Long
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = Application.FileDialog(msoFileDialogFolderPicker)
    With oFD 'используем короткое обращение к объекту
    'так же можно без oFD
    'With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выбрать папку с отчетами" 'заголовок окна диалога
        .ButtonName = "Выбрать папку"
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .InitialFileName = "C:\Temp\" 'назначаем первую папку отображения
        .InitialView = msoFileDialogViewLargeIcons 'вид диалогового окна(доступно 9 вариантов)
        If oFD.Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        x = .SelectedItems(1) 'считываем путь к папке
        MsgBox "Выбрана папка: '" & x & "'", vbInformation, "www.excel-vba.ru"
    End With
End Sub
[/vba]

Автор - alex77755
Дата добавления - 18.11.2017 в 14:43
_Boroda_ Дата: Суббота, 18.11.2017, 15:32 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вот здесь посмотрите
http://excelvba.ru/code/GetFileOrFolderPath
http://excelvba.ru/code/GetFolder

Автор - _Boroda_
Дата добавления - 18.11.2017 в 15:32
ant6729 Дата: Суббота, 18.11.2017, 16:07 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Спасибо, только для общего развития я так и не понял практически, что дают эти 9 (нашел только 8 на msdn) вариантов, если диалоговое окно все равно отображается одинаково?

PS

Прописл вот так: [vba]
Код
fp_ = x & "\"
[/vba]

Все работает, спасибо за подсказку.
 
Ответить
СообщениеСпасибо, только для общего развития я так и не понял практически, что дают эти 9 (нашел только 8 на msdn) вариантов, если диалоговое окно все равно отображается одинаково?

PS

Прописл вот так: [vba]
Код
fp_ = x & "\"
[/vba]

Все работает, спасибо за подсказку.

Автор - ant6729
Дата добавления - 18.11.2017 в 16:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как руками указать выбор директории? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!