0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 5
|
|
1 | |
Пакетная обработка *.doc с рисунками внутри. Уменьшить качество рисунков.16.03.2012, 16:11. Показов 14574. Ответов 37
Метки нет (Все метки)
Поискал на форуме, поискал в Интернете,
Нашёл только пакетную обработку *.Doc и изменение масштабов рисунка. А задача такая: Есть примерно 2000 целевых файлов в папке. Там в *.doc файлах есть рисунки, которые необходимо сжать без сильной потери качества. Вручную это делается легко, но рисунков слишком много. Word 2007. Или 2010. Поможете?
0
|
16.03.2012, 16:11 | |
Ответы с готовыми решениями:
37
Плохое качество рисунков в TImageList Есть книга которую я отсканировал, но после сканирования качество рисунков пропадает Пакетная обработка Пакетная обработка |
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
20.03.2012, 12:59 | 21 | |||||
Цикл по подпапкам можно организовать так:
В моем 2007 сжатие рисунков не записывается в макрос Неужели в 2010 тоже только такая команда? Хотелось бы найти этот метод, что-то типа ActiveDocument.Compress...
1
|
1031 / 702 / 66
Регистрация: 30.01.2012
Сообщений: 714
|
|
20.03.2012, 13:05 | 22 |
SendKeys "оп~"отправляют нажатия клавиш "о", "п", Enter и выставляют необходимые параметры("ко всем рисункам документа", "для печати")...
похоже, что так...
0
|
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
20.03.2012, 13:07 | 23 | |||||
Да, я погуглил и нашел
1
|
1031 / 702 / 66
Регистрация: 30.01.2012
Сообщений: 714
|
|
20.03.2012, 18:00 | 24 |
в принципе, всё работает:
связка WinXP SP3 on VBox + MS Word 2010 в папке и подпапке по 3 файла, полученных из исходного путём последовательного увеличения степени компрессии... после сжатия выводится отчёт, из которого видно, что размеры файлов уменьшились... я использовал вариант с dir, но более аутентичный вариант с рекурсией, думаю, будет работать не менее эффективно...
0
|
1300 / 402 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|||||||||||
26.03.2012, 10:27 | 25 | ||||||||||
Buckminster,
комментарии к коду в #20.
1
|
1031 / 702 / 66
Регистрация: 30.01.2012
Сообщений: 714
|
|
26.03.2012, 11:28 | 26 |
Word 2010 Developer Reference > Visual Basic for Applications Language Reference > Visual Basic Language Reference > Constants:
файл создавался средствами dir, отсюда и перевод строки... да, так действительно гораздо удобнее... спасибо...
1
|
1300 / 402 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
||||||
26.03.2012, 11:38 | 27 | |||||
Казанский
а вы тестировали код?
0
|
1031 / 702 / 66
Регистрация: 30.01.2012
Сообщений: 714
|
|
26.03.2012, 12:14 | 28 |
приведённый Казанский код действительно вызывает панель "Сжатие рисунков" (и в Word 2003, и в Word 2010):
Код
Application.CommandBars.FindControl(Id:=6382).Execute Код
SendKeys "оп~" Application.CommandBars.FindControl(ID:=6382).Execute
1
|
1300 / 402 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|||||||||||
26.03.2012, 13:10 | 29 | ||||||||||
Buckminster,
да, действительно, если создать txt-файл, а затем его открыть с помощью программы Word, то в конце каждого абзаца будет 2 символа: vbCr и vbLf. Только символа vbLf вообще не видно и он не относится к непечатаемым символам программы Word, которые видно. Buckminster, да, вот этот код работает:
Я считаю, что SendKeys работает в отношение немодальных окон. Немодальное окно - это когда можно переходить из диалогового окна в документ и обратно, не закрывая диалогового окна (пример, немодального окна Найти и заменить). Работающий вариант кода для Word 2010 с использованием рекурсивной процедуры. Часть данных взята от других участников этой темы. Перед запуском кода просмотрите комментарии кода (они зелёным цветом). Если при запуске кода появится диалоговое окно с двумя кнопками Применить и Отмена, то поставьте флажок Больше не показывать это предупреждение, чтобы это диалоговое окно больше не появлялось.
1
|
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 5
|
|
27.03.2012, 14:52 [ТС] | 30 |
Buckminster,
У меня почему-то не работает на первой же строке кода ((( Ругается, что не описан пользовательский (?!) класс Scripting.FileSystemObject Поискал в инете, попробовал сделать В реестре посмотрел, тоже вроде присутствует и класс и библиотека. У меня стоит Win7 Pro + Kasp Endpoint 8. Пробовал отключать каспа никакой реакции Вот
0
|
1300 / 402 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
27.03.2012, 14:56 | 31 |
corvus_ukhta,
а это делали в VBA: Tools - References... - Microsoft Scripting Runtime. Я просто комментарии (они зелёным цветом) в коде не туда написал, надо было в самый верх. По поводу библиотеки классов Microsoft Scripting Runtime - первый абзац комментариев сразу после имени процедуры Main.
1
|
1031 / 702 / 66
Регистрация: 30.01.2012
Сообщений: 714
|
||||||
27.03.2012, 15:14 | 32 | |||||
код с dir тоже не работает? хотя, я ведь не выложил финальный вариант:
1
|
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 5
|
|
27.03.2012, 21:19 [ТС] | 33 |
Огромное спасибо. Последний скрипт отработал на "Ура"
Итого обработано 864 файла *.doc размер папки с остальными файлами уменьшился с 6 до 2,5 Гб. Раза три процесс "подвисал" на параметрах сжатия, но стоило щёлкнуть на клавишу "Ок" и всё продолжалось. Вива Buckminster'у!
0
|
0 / 0 / 0
Регистрация: 16.11.2017
Сообщений: 1
|
|
16.11.2017, 01:33 | 36 |
А можно сделать такой же макрос только для файлов docx?
0
|
0 / 0 / 0
Регистрация: 21.12.2017
Сообщений: 2
|
|
21.12.2017, 23:07 | 37 |
Добрый день. Помогите, как сделать для последнего кода для выбора папки открытие диалогового окна? Сам не смогу...
Добавлено через 8 минут Уточню: в последнем коде для выбора папки как сделать открытие диалогового окна для указания пути? И еще было бы здорового всплывающее окно (типа настройки) с выбором типов файлов - doc, docx (или чтобы оба формата обрабатывались) и например согласие на формирование отчетного файла. Файлов много как в doc, так и в docx форматах. Так еще и много папок с файлами.
0
|
32 / 29 / 1
Регистрация: 06.01.2017
Сообщений: 297
|
|
23.12.2017, 23:33 | 38 |
Парни, аплодирую всем!
0
|
23.12.2017, 23:33 | |
23.12.2017, 23:33 | |
Помогаю со студенческими работами здесь
38
Пакетная обработка треков Пакетная обработка файлов Кроп и пакетная обработка Пакетная конвертация PDF в DOC и печать любых документов на PDF-принтере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |