Страницы: 1
RSS
Подсчет количество листов PDF из конкретной папки.
 

Подсчет количество листов PDF из конкретной папки.

Доброго дня всем.

Есть у меня один макрос, который смотрит в папку и ищет формат PDF и выводит названия и количество листов PDF в excel.

Можно ли сделать или добавить в макрос, чтобы этот макрос смотрел и другие форматы как *doc. *word., *xlsx., *xlsm., *xls., как пример, и тоже выводило количество листов (не вкладок). Хотя если честно сомневаюсь, что это можно делать с excel файлом, но всё-таки если это можно, то будет супер.

Это больше нужно для того, чтобы собрать реестр документов с количеством листов документа.

Можно ли сделать чтобы макрос сам обновлялся без нажатья кнопки для обновления архива.

Извиняюсь за наглость. Можно добавить еще функцию чтобы отправлять документ из списка на печать по отдельность через UserForm или хатыбы через гиперссылки?

Этот макрос может кому-то будет полезен для сбора файла PDF если не получится.

 
Доброго времени, вариант:
Вредить легко, помогать трудно.
 
Behruz A.N.,
Добрый.

При запуске макроса открывает .docx но не закрывает его. В коде заметил что стоит True
Код
                    Case "doc", "docx"
                        Set objApp = CreateObject("Word.Application")
                        objApp.Visible = True
Поменял на
Код
                    Case "doc", "docx"
                        Set objApp = CreateObject("Word.Application")
                        objApp.Visible = False
Вроде норм. Но с excel файлом как-то странно счет листов идет. Создал Лист Microsoft Excel.xlsx пустой файл в папке, при нажатии обработать пишет что 4 листа, хотя документ пустой без текста. Из-за чего это может быть?


Поменял названия текста с кириллицы на латиницу подсчет листа вроде норм.
Если названия файла тест123.xlsx тоже самое пишет 5 листов хотя документ пуст. А если назвать документ 123тест.xlsx то подсчет вроде правильный.
Еще одна странность, если документ был открыт например  тест123.xlsx и нажал кнопку ЖМИ, макрос закрывает сам документ и после этого указывает число листов 3 хотя там одна строка только.
Странная дискриминация получается  :D  
Изменено: Олег м - 15.09.2022 00:00:11
 
Олег м,
лучше так:
Код
Set objApp = CreateObject("Word.Application")
                        objApp.Visible = False
                        Set objDoc = objApp.Documents.Open(File.path)
                            s = objDoc.Range.Information(4)
                            sh.Cells(k, 1) = File.Name: sh.Cells(k, 2) = s
                            objApp.Quit

а на счет, Excel - файла, создал пустую книгу нормально работает.
Вредить легко, помогать трудно.
 
Behruz A.N.,

Смотря какая версия Excel установлена, у меня Microsoft Office 2021 и файлы на кириллице глючит с подсчетом. Проверял на разных компах, и дома и на работе.
И только Excel так себя ведет. Word вроде послушный а Excel нет почему-то.

Еще одну вещь заметил, если файлы содержат много листов уходит 5 секунд на обработку. 10 файлов из них 3 файла содержат по 40 листов, остальные 1-2 листа. Интересно если их будет около 30шт. Надо пробовать что будет

Изменено: Олег м - 15.09.2022 09:03:18
 
По PDF не самый корректный способ. На мой взгляд вот более правильный подход.
https://www.verypdf.com/wordpress/201307/how-to-count-pages-in-pdf-file-determine-number-of-pages-in-a-pdf-file-37621.html
По вопросам из тем форума, личку не читаю.
 
Не совсем понял. Там про PHP и C#
 
Помогите, пожалуйста, исправить чтобы правильно работал веси макрос. Есть еще непонятное в макросе, иногда pdf файл указывает что 0 страниц хотя там есть страницы.

Может проблема прячется в
Function GetPageNum(ByVal PDF_File As String) As Long
Изменено: Олег м - 15.09.2022 14:33:21
 
Олег, заменил функцию по pdf, проверяйте.
Вредить легко, помогать трудно.
 
Вообще перестал реагировать на pdf
Может это из-за разницы версии excel?
У меня стоит офис 2021
 
Помогите, пожалуйста, исправить чтобы корректно работал макрос.
 
Олег м, у вас какая программа для открытие pdf?
Вредить легко, помогать трудно.
 
Behruz A.N.,
Adobe Acrobat Pro DC
Страницы: 1
Наверх