Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 12:54   #1
Сергей Ч.
Новичок
Джуниор
 
Регистрация: 03.04.2014
Сообщений: 2
По умолчанию Переименование группы файлов по имени заданной ячейки

Помогите плиз.
MS Excel 2010
Имею порядка 200 файлов выгруженных из веб-интерфейса в одной папке.
Требуется переименовать файлы по ячейке "В1" первого листа, каждой книги соответственно.
Заранее благодарен.
Вложения
Тип файла: rar events[03-04-2014_09-40-45].rar (12.1 Кб, 12 просмотров)
Сергей Ч. вне форума Ответить с цитированием
Старый 03.04.2014, 13:29   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Сохраните как .VBS в папку с файлами и запустите.
Код:
set xlApp=createobject("excel.application")
With CreateObject("scripting.filesystemobject")
  For Each f In .GetFile(wscript.scriptfullname).ParentFolder.Files
    ext=.GetExtensionName(f.Path)
    If UCase(Left(ext, 3)) = "XLS" Then
      With xlApp.Workbooks.Open(f.Path)
        s=.worksheets(1).range("B1").value
	.close 0
      end with
      f.name=s & "." & ext
    end if
  next
end with
xlapp.quit
Вложения
Тип файла: zip rename.zip (394 байт, 13 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 03.04.2014 в 13:32. Причина: добавил файл
Казанский вне форума Ответить с цитированием
Старый 03.04.2014, 13:40   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Может чуть дополнить для надёжности?
Код:
set xlApp=createobject("excel.application")
With CreateObject("scripting.filesystemobject")
  For Each f In .GetFile(wscript.scriptfullname).ParentFolder.Files
    ext=.GetExtensionName(f.Path)
    If UCase(Left(ext, 3)) = "XLS" Then
      With xlApp.Workbooks.Open(f.Path)
      with .worksheets(1)
        s=.range("B1").value & "_" & .range("B3").value & .range("C3").value & .range("D3").value 
        s=replace(s,"/","_")
      end with
   .close 0
      end with
      f.name=s & "." & ext
    end if
  next
end with
xlapp.quit
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 03.04.2014, 14:05   #4
Сергей Ч.
Новичок
Джуниор
 
Регистрация: 03.04.2014
Сообщений: 2
По умолчанию

Все работает, спасибо большое!!
Сергей Ч. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пакетное переименование файлов Денис9 Общие вопросы Delphi 7 21.01.2013 00:02
Переименование файла Excel в зависимости от содержания ячейки AlexeyLeX Microsoft Office Excel 0 06.06.2012 05:29
Переименование файлов Alergen2 Microsoft Office Access 1 01.11.2011 13:57
удаление имени группы ячеяк cub Microsoft Office Excel 2 05.08.2009 18:11
Переименование группы файлов Meh Общие вопросы Delphi 2 28.07.2009 12:31