| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > Если число страниц больше 2х то удалить файл |
| Автор: nikki4 29.5.2015, 01:38 | ||||
| Здравствуйте. Просьба помочь сделать следующее: если число страниц в ворде больше Х (допустим 3), тогда удалить файл. Причем надо сделать это массово. Путем помощи на форумах и гугла удалось вот что найти: скрипт который обрабатывает пачку файлов docx на удаление ссылок, только сюда вместо удаления ссылок проверку и удаление файла.
а вот нашел скрипт по счету числа страниц в файле
как теперь это скрестить? с путем и названием объектов запутался... |
| Автор: Akina 29.5.2015, 09:01 |
| В документе страницы явно существуют только тогда, когда в нём использованы символы, явно начинающие новую страницу (например, page break или разрыв раздела с новой страницы). Если таких символов нет, документ (или содержимое между такими символами, если они есть) делится на страницы в момент вывода, и это деление зависит от характеристик устройства вывода. Т.е. количество страниц запросто может меняться простой сменой дефолтного принтера или формата бумаги. Задача недоопределена. |
| Автор: nikki4 29.5.2015, 13:31 | ||||
objDoc.ComputeStatistics(wdStatisticPages) работает корректно (там в исходнике был вывод сообщения с числом страниц и совпадало).
по поводу размера бумаги и принтера. по умолчанию везде а4 книжная, а дома у меня вообще принтера нет. никаких явных разрывов в странице нет. Есть верхний и нижний колонтитул разве что, в частности где указано "страница 1 из ..." но я только что создал тестовый документ из 3х страниц, где даже их нет и все считает. Впрочем в данном случае и не нужна точность, просто надо каким-то образом отделить длинные документы от коротких. Чтобы уже потом в ручную обработать длинные. По рамеру файла не подойдет, так как там есть и таблицы всякие и потому больший по объему файл, может быть меньше по количеству страниц. Вот и задумался, наверняка же можно это посчитать и даже нашел скрипт, но как сделать чтобы он пачкой все проверил, а не 1 конкретно. нашел вот кстати .DeleteFile, но там надо указать путь файла .. а тут много файлов... |
| Автор: nikki4 30.5.2015, 17:30 | ||
Задача решена, решение:
|