|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Переименование множества файлов MS Word по контексту
Имеется ну очень много вордовских документов с именами без всякой системы, а хочется это дело систематизировать. Эпизодически я это делал открывая документ, вычитывая часть текста содержащее номер и дату и пересохранял по этим данным. Сей мартышкин труд меня основательно достал и потому написал небольшую утилитку которая все это делает сама. Вроде бы - вот оно счастье Но утилитка работает удручающе медленно ибо подключается к каждому документу через OLE ищет по регулярке нужные значения, сохраняет файл и по кругу.
Итак перехожу к вопросам. Есть ли более быстрый способ делать тоже самое? Если нет, то имеет ли смысл заморачиваться с потоками, что явно предполагает сильную загрузку памяти копиями ворда и не факт, что будет надежно работать при этом. Или я вообще не в ту степь пошел? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#2
|
|||
|
|||
Может, если переписать это дело как макрос Ворда, будет быстрее?
Один вордовский экземпляр - поочередно открывает документы и переименовывает |
#3
|
||||
|
||||
Да тоже самое наврное можно будет делать и в Дельфи, если не создавать новый, а подключаться к существующему. Но что-то мне подсказывает, что тут должны быть какие-то грабли. Но попробую, это хоть переделки серьезной не потребует.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
Переделал под одну копию ворда. Скорость все равно не супер, но уже намного лучше. Попробовал грузить сразу все документы в эту одну копию, еще быстрее получается, но вот пауза пока он закрывает потом это все безобразие напрягает, потому остановился на создании одной копии и последовательной загрузке/выгрузке документов в нее.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
А меня наводит на некоторые мысли следующее:
Убиваем нули, натравливаем регулярку на сам файл. Авось прокатит. Только если есть русские буквы, то это все будет юникодом. Надо учесть. ------------------ UPD: попробовал сделать русские буквы - текст разбило на две части. Так что да, возникают сложности. Хотя чисто англ текст вроде не дробится. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 09.08.2013 в 19:40. |
#6
|
||||
|
||||
В моем случае именно русский текст разбирается. И к сожалению обращение напрямую не прокатит в некоторых случаях. Есть документы, где текст чередуется с таблицами, графикой, ил все вместе, да еще и в какой нибудь фрэйм запихано. Вот там вообще все грустно, а ворд нормально свое творение открывает.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |