Переименовывает папки в excel

Данная команда позволяет массово переименовывать файлы в любой папке Вашего ПК непосредственно из MS Excel.

Переименовать файлы

Чтобы воспользоваться данной командой создайте в своей рабочей книге MS Excel список файлов, которые вы хотите переименовать (так это можно сделать быстро):

pereimenovat-fajly 

Пропишите рядом со «старыми» именами файлов — «новые» имена (так можно быстро добавить год к названию файлов):

pereimenovat-fajly

Затем выделите диапазон ячеек со старыми и новыми названиями файлов, перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Файлы» и выберите команду «Переименовать файлы«:

pereimenovat-fajly

В открывшемся диалоговом окне укажите папку, в которой расположены файлы для переименования и нажмите ОК:

pereimenovat-fajly

После того как Вы нажмете кнопку OK файлы в указанной папке будут переименованы, о чем программа сообщит следующим информационным сообщением:

pereimenovat-fajly

Отмена этой операции не предусмотрена, но вы легко можете вернуть «старые» названия файлов. Для этого поменяйте столбцы с «новыми» и «старыми» названиями файлов местами (так это можно сделать быстро):

pereimenovat-fajly

И повторите операцию по переименованию. «Старые» названия файлов будут возвращены.

Добавить комментарий

Настройки программы переименования и копирования файлов

Надстройка предназначена для переименования файлов в заданной папке.

В качестве исходных данных (исходные и конечные имена файлов) выступает таблица Excel

В настройках программы задаётся, в каких столбцах таблицы Excel брать имена файлов.
При необходимости, можно указать префикс и суффикс для имен файлов.

После запуска надстройки, на ленте Excel на вкладке НАДСТРОЙКИ появляется панель инструментов.

Порядок работы:

  1. открываете таблицу Excel, содержащую старые и новые имена файлов в разных столбцах
  2. запускаете надстройку, на ленте Excel появится вкладка НАДСТРОЙКИ
  3. нажимаете кнопку НАСТРОИТЬ, и указываете, в каких столбцах содержатся имена файлов,
    а также задаёте пути к папке с картинками, и к папке, куда будут копироваться файлы под новыми именами
  4. нажимаете кнопку СКОПИРОВАТЬ / ПЕРЕИМЕНОВАТЬ ФАЙЛЫ

По окончании работы, появится информационное сообщение такого вида:

сообщение о завершении переименования файлов

 

Всем доброго дня!
Может кто сталкивался — можно с помощью макроса организовать переименовку файлов в папке?
К примеру, есть файл Excel, в нем есть колонка «Название файла» и «Правильное название», где соответственно указано текущее название файла и новое, которое должно быть.
Под файлами я понимаю файлы jpg, jpeg, png. В названии файла конечно указано полное имя включая расширение.
Так вот, возможно макросом найти каждой файл (1 строка таблицы = 1 файл) и задать ему новое имя, а в случае, если файл не найден — ставить метку, что такого файла нет?

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Пакетное переименование файлов

правда, не отмечает переименованные. еще на старом форуме(архив) поищите — когда-то выкладывал аналогичный макрос.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

МатросНаЗебре

Пользователь

Сообщений: 5516
Регистрация: 05.02.2014

#3

10.02.2014 18:11:52

И ещё вариант.

Код
Sub RenameFiles()
For i = 1 To 10
    Shell "cmd.exe /c rename c:тмп" & Cells(i, 1).Text & " " & Cells(i, 2).Text
Next
End Sub
 
 

Мотя

Пользователь

Сообщений: 3218
Регистрация: 25.12.2012

Если тема еще актуальна…

 

Мотя, спасибо большое, это именно то, что нужно.
Позже посмотрю его внутри и проверю на большом массиве и отпишусь!

 

Уважаемый Мотя, а Вы не могли бы подсказать, как добавить в макрос следующее — прописать новое название в Properties файла, а именно в title.

 

Мотя

Пользователь

Сообщений: 3218
Регистрация: 25.12.2012

Уважаемая Inna Borshch!
В заявке автора не было вопроса о том, как прописать новое название в Properties файла (Title).
Поиск мне «предложил»:
ThisWorkbook.BuiltinDocumentProperties(«Title») = «Новое имя»
P.S.
1. Новое имя можно задавать явно (не явно).
2. Поскольку я — не профессионал, не могу сказать, как применить семейство свойств книги BuiltinDocumentProperties к файлам других типов.
3. Рекомендую обратиться к профессионалам.

 

Спасибо Мотя, за ответ и за наводку. Попробую разобраться.
И ещё один вопрос.
Текст файла — его основа всегда одинаковая, но ежедневно добавляется дата в названии файла (это исходник), а переименовать надо всегда по образцу.
Пример: «mama mila ramu 01.02.2014» — > «Ochenj krasivaja mama mila ramu».

Как поставить смотреть на совпадение содержания? (if contain «mama mila ramu%» then «Ochenj krasivaja mama mila ramu»).
Не подскажете?

Заранее благодарю.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Инна, что Вам мешает создать свою тему? Эту тему закрываю, пока Вы её в помойку своих вопросов не превратили.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

The_Prist

На мой взгляд, хотя я могу и ошибаться, мои вопросы — это продолжение темы.
Я приму  во внимание Вашу рекомендацию и напишу тоже самое в отдельной теме.

И хоть Вы модератор, это не даёт Вам право хамить.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Тема про переименованию по списку соответствия, а не про переименование на основании текста внутри файла.

А где я Вам нахамил? Не вижу ни капли хамства в своем сообщении. Или Вас оскорбляет, что тема будет помойкой, если в неё все вопросы сваливать? Советую перечитать правила форума тогда. И на всякий случай заглянуть в википедию и прочитать значение слова «хамить».

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Avercom

Пользователь

Сообщений: 2
Регистрация: 17.07.2018

День добрый!
В сообщении №4

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=54798&am…

в файле есть макрос. Подскажите пожалуйста как отключить чувствительность к регистру.

 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#13

17.07.2018 11:07:34

Avercom, первой строкой модуля (до Sub) поставьте

Код
Option Compare Text
 

Avercom

Пользователь

Сообщений: 2
Регистрация: 17.07.2018

Спасибо Вам большое!
Хороший Вы человек.
Все работает

 

utoFlowers

Пользователь

Сообщений: 1
Регистрация: 21.03.2019

#15

21.03.2019 21:45:31

Если кто-то не может скачать файл пользователя Мотя
В эксель столбец А — старое название с расширением, В — новое название с расширением
Сам макрос

Код
Sub CHANGE_NAME_FILE()
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
Dim Im_Main, Put_File, sch_VERT As Variant
Dim FS, KATALOG, FILE, MASSIV As Object
Dim II, JJ As Integer
    Range("C2:C65000").Select
    Selection.ClearContents
sch_VERT = Cells(1, 1).End(xlDown).Row - 1
Dim OLD_NAME(), NEW_NAME() As Variant
ReDim OLD_NAME(sch_VERT, 1), NEW_NAME(sch_VERT, 1)
    Range("A1:B" + Trim(Str(sch_VERT + 1))).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
OLD_NAME = Range(Cells(2, 1), Cells(2 + sch_VERT, 1))
NEW_NAME = Range(Cells(2, 2), Cells(2 + sch_VERT, 2))
Im_Main = ActiveWorkbook.Name
Put_File = Application.ActiveWorkbook.Path + ""
Set FS = CreateObject("Scripting.FileSystemObject")
Set KATALOG = FS.GetFolder(Put_File)
Set MASSIV = KATALOG.Files
If Dir(Put_File + "OUT", vbDirectory) = "" Then
    MkDir (Put_File + "OUT")
End If
If Dir(Put_File + "OUT", vbDirectory) <> "" Then
   'If Len(Dir(Put_File + "OUT*.*")) > 0 Then
      'Kill (Put_File + "OUT*.*")
   'End If
For II = 1 To sch_VERT
    For Each FILE In MASSIV
        If Dir(FILE) = OLD_NAME(II, 1) And Dir(FILE) <> Im_Main Then
           FileCopy FILE, Application.ActiveWorkbook.Path + "OUT" + NEW_NAME(II, 1)
           Cells(II + 1, 3).Value = "íàéäåí"
        End If
    Next
Next 'ii
MsgBox "ГОТОВО"
End If
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub

Спасибо!

Изменено: utoFlowers21.03.2019 21:47:53

 

john12332

Пользователь

Сообщений: 1
Регистрация: 12.05.2019

#16

12.05.2019 19:41:48

Подскажите, можно ли сделать тоже самое, только не учитывая расширения? Чтобы эксель находил имя, переименовывал на нужное и не трогал расширение.

Переименование папок/файлов по списку

21.09.2017, 12:03. Показов 8942. Ответов 2


Студворк — интернет-сервис помощи студентам

Добрый день уважаемые гуру VBA!

Нашел старый макрос, которым когда-то пользовался на работе и переименовывал папки по списку, теперь на новой работе необходимо делать похожую процедуру, но вот макрос почему-то поломался. Отправлю в том виде, в котором нашел.
Если можно, помимо переименования папок прикрутить переименование файлов (не меняя расширение).

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub ПереимСПравСтолбНаОдинЛевее()
  Dim SourceFolder As String, DestinationFolder As String, ce As Range, SuppCode As String, MKCode As String, i As Integer, LastRow As Integer
  Static firstfoundRow As Long, firstfoundCol As Long, secondfoundRow As Long, secondfoundCol As Long
    InitialPath = ThisWorkbook.Path: Dim coll As New Collection
    Application.ScreenUpdating = False
    LastRow = Application.Cells.SpecialCells(xlCellTypeLastCell).Row
    firstfoundRow = ActiveCell.Row: firstfoundCol = ActiveCell.Column
    
    MsgBox "Выберите папку:)"
    SourceFolder = GetFolderPath
  While i <= LastRow
    On Error Resume Next
    SuppCode = ActiveCell.Text
    'MKCode = Cells.Find(What:="*", after:=Active.cell, LookIn:=xlValues, SearchOrder:=xlByRaw, SearchDirection:=xlPrevious).Text
     MKCode = ActiveCell.Offset(0, -1).Text
    If Dir(SuppCode, vbDirectory) = True Then Name SourceFolder & SuppCode As SourceFolder & MKCode
    ActiveCell.Offset(1, 0).Activate
    'Cells.FindNext(After:=ActiveCell).Activate
     i = i + 1
  Wend
 
   'Kill SourceFolder & file
     Application.StatusBar = "": Application.ScreenUpdating = True
End Sub
    With Application.FileDialog(msoFileDialogFolderPicker)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show = -1 Then GetFolderPath = .SelectedItems(1): If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
    End With
End Sub

Добавлено через 1 час 3 минуты
Добавлю еще некоторую информацию, как работало.

В колонке 1 были старые названия папок, в колонке 2 новые названия папок. Курсор ставил на первую ячейку колонки 1, макрос предлагал выбрать папку, в которой находится то, что необходимо переименовать, папку выбирал и макрос вступал в работу, сейчас переименовка не работает. Не понимаю, откуда взялось два End Sub в макросе, пробовал первый убрать — не переименовывает, пробовал убрать все после первого End Sub — не выбирается папка.



0



В этом посте я расскажу, как за два нажатия и полминуты вашего времени переименовать файлы в папке на компьютере согласно данным из таблицы Microsoft Excel.

Когда это может пригодиться

Наверное, первый вопрос, который возникает в голове: «А зачем?». Мне такой сценарий тоже никогда в голову не приходил, пока в Сети я не нашёл вопрос от владельца интернет-магазина.

У них был сценарий, при котором нужно было сфотографировать кучу товара, а затем переименовать фотографии согласно их артикулу. Решить эту задачу очень легко.

Для этого нужно в таблице Excel подготовить список артикулов, а затем сфотографировать все товары в том же порядке, что данные в таблице. А затем просто автоматически переименовать их.

Переименовываем файлы

Скачайте файл Rename the Multiple files.xlsm по ссылке в конце статьи и откройте его.

В файле есть три основных поля:

  • Первое — список файлов из папки, которые нужно переименовать.
  • Второе — новое название для файлов, включая расширение.
  • Третье — путь до папки с файлами.

Теперь приступим к переименованию. Для этого положите все файлы, которые нужно переименовать в отдельную папку, а в файле Rename the Multiple files в ячейке Folder Path укажите путь до этой папки, и нажмите кнопку Get Information.

После этого в столбце Current Name появится список файлов из папки. В столбце New Name укажите новое название для файлов, и нажмите кнопку Rename the File. И готово, все файлы переименованы.


Заветный файлик спрятан под катом 👇 (нажми кнопку Подписаться).


Теги:
Windows
Microsoft Excel

Понравилась статья? Поделить с друзьями:
  • Переименовать файл макросом excel
  • Переименовать текущий лист excel
  • Переименовать по дате excel
  • Переименовать листы в excel по значению ячейки
  • Переименовать лист как функция в excel