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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 22:01   #1
srgg
Новичок
Джуниор
 
Регистрация: 20.05.2011
Сообщений: 1
По умолчанию Нужен макрос или программа для пакетной обработки файлов

Нужно написать программу или макрос, которая будет обрабатывать в пакетном режиме файлы в формате .doc|.rtf в указанной директории, удаляя из них часть текста в соответствии с настройками (в %).
Например, указан параметр "оставлять 20% текста". Это означает, что 20% от объёма текста остаются без изменений, остальные 80% удаляются.
Желательно также, чтобы файлы сохранялись под новыми именами.

Существует похожее решение: http://www.sobolsoft.com/wordsplit/
однако оно не совсем подходит, т.к.:
1. Сохраняет весь текст в виде нескольких файлов, тогда как нужно сохранить только 1, обрезанный
2. Работает некорректно.
srgg вне форума Ответить с цитированием
Старый 21.05.2011, 10:26   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

если я правильно поняла при обработке а1.дос из 10,000симв
-оставить 2,000симв в файле dop1\a1doc
-сохранив формат,таблицы,колонтитулы,рисунки

или

надо получить для экспресс-просмотра
-2,000симв в текстовом формате
-преобразовав таблицы построчно
-вместо рисунков --указатель наличия рисунка или диаграммы
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 23.05.2012, 13:05   #3
lovial
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 21
По умолчанию

Вот макрос для пакетной обработки
Sub Abz111()
Set WordObj = CreateObject("Word.Application")
MyPath = "C:\Obrabotka\1\"
iFileName = Dir(MyPath)
Do While iFileName <> ""
Set WordDoc = WordObj.Documents.Open(MyPath + iFileName)
WordObj.Visible = False


WordObj.Documents(iFileName).SaveAs FileFormat:=wdFormatDocument
WordObj.Documents(iFileName).Close SaveChanges:=True
iFileName = Dir
Loop
WordObj.Quit
Set WordDoc = Nothing
Set WordObj = Nothing
End Sub
Он последовательно открывает файлы в папке C:\Obrabotka\1\ и делает над ними заданные действия (действия надо вписать в разрыв текста макроса).
Насколько я понял, надо посчитать количество символов (с пробелами) в документе и убрать 80%. Если в тексте нет таблиц\картинок, проблем не вижу.

Последний раз редактировалось lovial; 23.05.2012 в 16:03.
lovial вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для обработки прайсов nondescript Microsoft Office Excel 11 24.08.2010 23:51
Нужна программа или макрос для печати шаблонов word с данными взятыми из таблицы EXCEL dimatz Microsoft Office Excel 3 05.03.2010 12:17
Макрос пакетной замены swan1976 Microsoft Office Word 2 26.12.2009 17:48
Нужен компонент или библитека для вычисления cheksum файлов GurAnvir Компоненты Delphi 2 16.11.2009 11:27
Макрос в Excel для обработки группы файлов ad_sum Microsoft Office Excel 1 29.12.2007 16:56