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

Вход

Регистрация

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

 

= Мир MS Excel/Найти имена файлов в папке - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Найти имена файлов в папке (Макросы/Sub)
Найти имена файлов в папке
VipeRock Дата: Четверг, 29.09.2016, 11:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Нужен макрос по переименованию фотографий, на просторах интернета нашел такой.
Но поскольку фотографий много стал вопрос - возможно ли в текущей папке находить имена файлов и переносить их в первый столбик таблицы с сортировкой по возрастанию?
К сообщению приложен файл: 8424636.xlsm(24Kb)


Сообщение отредактировал VipeRock - Четверг, 29.09.2016, 12:14
 
Ответить
СообщениеДобрый день.
Нужен макрос по переименованию фотографий, на просторах интернета нашел такой.
Но поскольку фотографий много стал вопрос - возможно ли в текущей папке находить имена файлов и переносить их в первый столбик таблицы с сортировкой по возрастанию?

Автор - VipeRock
Дата добавления - 29.09.2016 в 11:05
Karataev Дата: Четверг, 29.09.2016, 12:36 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 883
Репутация: 331 ±
Замечаний: 0% ±

Excel
Посмотрите комментарий в коде.
[vba]
Код
Sub Извлечь_имена_файлов()

    Dim strFolderName As String, strFilename As String, i As Long
    
    'в переменную запишите путь и имя папки, в которой находятся файлы
    strFolderName = "C:\Users\User\Desktop\Новая папка"
    
    Application.ScreenUpdating = False
        
    i = 2
    strFilename = Dir(strFolderName & "\")
    Do While strFilename <> ""
        Cells(i, "A").Value = strFilename
        i = i + 1
        strFilename = Dir
    Loop
    
    Application.ScreenUpdating = True

End Sub
[/vba]


 
Ответить
СообщениеПосмотрите комментарий в коде.
[vba]
Код
Sub Извлечь_имена_файлов()

    Dim strFolderName As String, strFilename As String, i As Long
    
    'в переменную запишите путь и имя папки, в которой находятся файлы
    strFolderName = "C:\Users\User\Desktop\Новая папка"
    
    Application.ScreenUpdating = False
        
    i = 2
    strFilename = Dir(strFolderName & "\")
    Do While strFilename <> ""
        Cells(i, "A").Value = strFilename
        i = i + 1
        strFilename = Dir
    Loop
    
    Application.ScreenUpdating = True

End Sub
[/vba]

Автор - Karataev
Дата добавления - 29.09.2016 в 12:36
VipeRock Дата: Четверг, 29.09.2016, 15:01 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, работает.
В файле, в первом посте, макрос переименовывает фотки в текущей папке.

Возможно сделать также в этом макросе?

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

Возможно сделать также в этом макросе?

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

Автор - VipeRock
Дата добавления - 29.09.2016 в 15:01
Karataev Дата: Четверг, 29.09.2016, 15:18 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 883
Репутация: 331 ±
Замечаний: 0% ±

Excel
Но это получается нужно два макроса. Один макрос копирует имена файлов в Excel, в столбец "A". Затем пользователь создает новые имена для файлов. Затем пользователь запускает второй макрос, который переименовывает файлы.


 
Ответить
СообщениеНо это получается нужно два макроса. Один макрос копирует имена файлов в Excel, в столбец "A". Затем пользователь создает новые имена для файлов. Затем пользователь запускает второй макрос, который переименовывает файлы.

Автор - Karataev
Дата добавления - 29.09.2016 в 15:18
VipeRock Дата: Четверг, 29.09.2016, 15:37 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Karataev,

Да Вы абсолютно правы, в моем первом посте есть второй макрос, ниже прикреплю снова.

В Вашем макросе что бы он работал корректно нужно указывать путь папки где лежат фотографии.
Пользователь хранит фотографии в разных папках по разным критериям и начнет истерить если ему показать окно с макросом вместо кнопки.

Чтобы не плодить документы ексель, возможно сделать что бы файлы брались из текущей папки (как в первом модуле)?
К сообщению приложен файл: ___.xlsm(27Kb)
 
Ответить
СообщениеKarataev,

Да Вы абсолютно правы, в моем первом посте есть второй макрос, ниже прикреплю снова.

В Вашем макросе что бы он работал корректно нужно указывать путь папки где лежат фотографии.
Пользователь хранит фотографии в разных папках по разным критериям и начнет истерить если ему показать окно с макросом вместо кнопки.

Чтобы не плодить документы ексель, возможно сделать что бы файлы брались из текущей папки (как в первом модуле)?

Автор - VipeRock
Дата добавления - 29.09.2016 в 15:37
Karataev Дата: Четверг, 29.09.2016, 16:07 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 883
Репутация: 331 ±
Замечаний: 0% ±

Excel
[vba]
Код
Sub Извлечь_имена_файлов()

    Dim strFolderName As String, strFilename As String, i As Long
    
    'в переменную запишите путь и имя папки, в которой находятся файлы
    strFolderName = ThisWorkbook.Path
    
    Application.ScreenUpdating = False
        
    i = 2
    strFilename = Dir(strFolderName & "\")
    Do While strFilename <> ""
        Cells(i, "A").Value = strFilename
        i = i + 1
        strFilename = Dir
    Loop
    
    Application.ScreenUpdating = True

End Sub
[/vba]


 
Ответить
Сообщение[vba]
Код
Sub Извлечь_имена_файлов()

    Dim strFolderName As String, strFilename As String, i As Long
    
    'в переменную запишите путь и имя папки, в которой находятся файлы
    strFolderName = ThisWorkbook.Path
    
    Application.ScreenUpdating = False
        
    i = 2
    strFilename = Dir(strFolderName & "\")
    Do While strFilename <> ""
        Cells(i, "A").Value = strFilename
        i = i + 1
        strFilename = Dir
    Loop
    
    Application.ScreenUpdating = True

End Sub
[/vba]

Автор - Karataev
Дата добавления - 29.09.2016 в 16:07
VipeRock Дата: Пятница, 30.09.2016, 15:12 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо что помог. Тему можно закрывать.
 
Ответить
СообщениеСпасибо что помог. Тему можно закрывать.

Автор - VipeRock
Дата добавления - 30.09.2016 в 15:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Найти имена файлов в папке (Макросы/Sub)
Страница 1 из 11
Поиск:

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