Страницы: 1
RSS
Как узнать путь к файлу при печати на PDF принтер
 
Добрый день, уважаемый форумчане и гуру VBA!
Прошу помощи в таком вопросе:
Есть форма (UserForm), я вывожу ее на печать (Me.PrintForm) выбираю в качестве принтера виртуальный PDF  и указываю путь куда сохранить файл. Далее хочу открыть файл для просмотра. Как открыть PDF из VBA, я разобрался, а вот где взять путь к сохраненному файлу т.е. путь который я указал в диалоге сохранения?
Заранее спасибо!
 
Доброе время суток
Цитата
YuryK80 написал:
указываю путь куда сохранить файл
Используя что? Без вашего примера, могу посоветовать лишь - сохраняйте Pdf в одну и туже папку и по последней дате создания файла и, используя FileSystemObject, найти такой файл в той папке.
 
Поддерживаю Андрей VG в части необходимости файла-примера. Но в теории Вам нужно сохранить путь файла куда-нибудь, до того, как Вы форму закроете, например в ячейку листа или в переменную, если вы открываете свой pdf файл сразу после сохранения.  
Я не волшебник, я только учусь.
 
Вот пример того, как все реализовано
Изменено: YuryK80 - 03.09.2018 12:24:51
 
Цитата
Wiss написал:
в теории Вам нужно сохранить путь файла куда-нибудь
вопрос как раз в том, как этот путь узнать, сохраняю я его в глобальную переменную.
 
Цитата
YuryK80 написал:
опрос как раз в том, как этот путь узнать,
Для начала нужно узнать, и я задавал уже этот вопрос,
Цитата
YuryK80 написал:
указываю путь куда сохранить файл
В коде об этом не слова.
 
Цитата
YuryK80 написал:
путь который я указал в диалоге сохранения?
Вы по скромности умалчиваете, что диалог выбора пути сохранения принадлежит принтеру, и VBA о нем ни слухом, ни духом?
 
Коллеги, не так все хорошо, но и не так все плохо. Драйвер виртуального принтера где-то хранит путь последней выгрузки, но где, трудно сказать. По быстрому найти не получилось, однако есть еще одно но, что за принтер PDF?  Я с десяток по памяти  назову от MS до Adobe. Будет ли у всех все одинаково, даже если найдем - не могу сказать.
По вопросам из тем форума, личку не читаю.
 
Цитата
RAN написал:
Вы по скромности умалчиваете, что диалог выбора пути сохранения принадлежит принтеру, и VBA о нем ни слухом, ни духом?
Исключительно по незнанию :), вот, кстати, похоже первый шаг к решению проблемы, формулирую вопрос по другому. Можно ли узнать средствами vba путь к сохраненному файлу, если диалог сохранения принадлежит принтеру.  
 
Цитата
БМВ написал:
Драйвер виртуального принтера где-то хранит путь последней выгрузки,
Привет, Михаил.
Такие драйверы, как Adobe PDF Printer, PDFCreator, имеют свой com-API для печати, где как раз и можно указать куда сохранять результат, в каком формате, более того, в настройках печати позволяют указать открывать файл результат печати в программе по умолчанию.
 
Андрей VG, Андрей, приветвую. Да. Собственно так же как и MS Print to PDF. только если там doPdf, pdf24, bulZip…… то все рухнет,
По вопросам из тем форума, личку не читаю.
 
Цитата
Андрей VG написал:
в настройках печати позволяют указать открывать файл результат печати в программе по умолчанию.
к сожалению, как я понял, команда Me.PrintForm не позволяет открывать окно свойств принтера, она отправляет на печать и все. На форуме эту тему обсуждали, вроде бы так решение и не найдено.  А менять настройки принтеров ради конкретного макроса нет желания.  
Изменено: YuryK80 - 03.09.2018 13:24:18
 
пример
 
Цитата
БМВ написал:
только если там doPdf, pdf24, bulZip
Ну, Михаил, я всё же недоадмин. с таким зоопарком не знаком. По прежнему месту работы PDFCreator использовался в качестве выгрузки карт из ArcView в растровый формат (он не только в pdf может). А Adobe PDF как часть Adobe Acrobat для перекомпоновки отчётов.
YuryK80, вы бы всё же сообщили - каким виртуальным принтером для вывода в PDF пользуетесь.
 
Цитата
Андрей VG написал:
вы бы всё же сообщили - каким виртуальным принтером для вывода в PDF пользуетесь
в основном, doPDF, но не только, он через RDP не работает, поэтому еще использую PrimoPDF. В целом писать макрос под конкретный принтер, по моему, плохая идея, хлопот на поддержание его в рабочем состоянии будет больше чем пользы, буду открывать файлы в ручную.



Спасибо за помощь, вопрос, думаю, можно считать закрытым.
Страницы: 1
Наверх