Форум пользователей Visio http://visio.getbb.ru/ |
|
Печать в PDF документов с нестандартными размерами листов http://visio.getbb.ru/viewtopic.php?f=15&t=528 |
Страница 1 из 1 |
Автор: | Surrogate [ 13 фев 2014, 16:09 ] |
Заголовок сообщения: | Печать в PDF документов с нестандартными размерами листов |
Бывает довольно проблематично распечатать из Визио документы с нестандартными размерами листов и размером более А3, я бы сказал практически невозможно сделать это быстро. Конечно есть надстройка Acrobat PDFMaker, но у меня во при печати документов с несколькими нестандартными листами визио зависает Короче сварганил следующий код, для облегчения в подобных случаях. Код: Private Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long
Const SW_SHOWMAXIMIZED = 3 Sub ExportToPDF() Dim VD As Document ' переменная - текущий документ Set VD = ActiveDocument Dim fn As String ' переменная - имя текущего файла fn = VD.Path & VD.Name ' получаем полное имя текущего документа Dim ext As String ' переменная - расширение текущего документа ext = ".vsd" ' по умолчанию ставим такое расширение If VD.Application.Version > "14.0" Then ext = ".vsdx" ' если документ имеет версию старше 2010, то изменяем текущее расширение Dim suff As String ' переменная - окончание названия создаваемого файла PDF suff = "_" & Format(Now, "ddMMyy") & "-" & Format(Now, "hhmmss") & ".pdf" ' добавляем к перед расширением текущую дату и время dim pdf_n As String ' переменная - имя создаваемого файла PDF pdf_n = Replace(fn, ext, suff) ' получаем имя создаваемого файла ЗВА, производим замену расширения vsd(vsdx) на pdf, с добавлением даты и времени VD.ExportAsFixedFormat visFixedFormatPDF, pdf_n, visDocExIntentPrint, visPrintAll, , , , False, False, False ' экспорт документа в файл PDF Call ShellExecute(0, "open", pdf_n, "", "", SW_SHOWMAXIMIZED) ' открываем полученный PDF файл End Sub |
Автор: | Robink [ 13 фев 2014, 21:50 ] |
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов |
Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят. |
Автор: | 9rey [ 13 фев 2014, 21:54 ] |
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов |
ExportAsFixedFormat для Visio >=2007 |
Автор: | Surrogate [ 13 фев 2014, 22:32 ] | ||
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов | ||
Robink писал(а): Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят. Из основных достоинств: конвертирование происходит за считанные секунды и то что ставит именно нужный формат листа. В визио 2010 зачем-то убрали настройку листа "Так же как размер листа принтера", поэтому приходится ручками выставлять 9rey писал(а): ExportAsFixedFormat для Visio >=2007 Спасибо, напомнил Хотел про это написать, но устал писать камменты к коду и забыл…
|
Автор: | Robink [ 14 фев 2014, 11:42 ] |
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов |
Surrogate писал(а): Robink писал(а): Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят. Из основных достоинств: конвертирование происходит за считанные секунды и то что ставит именно нужный формат листа. В визио 2010 зачем-то убрали настройку листа Я использую в 10 Код: Doc.ExportAsFixedFormat visFixedFormatPDF, doc_name, visDocExIntentPrint, visPrintAll, 1, 1, False, True, True, True, False
|
Автор: | Surrogate [ 14 фев 2014, 12:04 ] |
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов |
Surrogate писал(а): В визио 2010 зачем-то убрали настройку листа я имел в виду в интерфейсе в настройках печати.вот как это было в визио 2003 в визио 2010 это окно выглядит так |
Автор: | Qwertiy [ 18 фев 2014, 19:25 ] |
Заголовок сообщения: | |
Surrogate писал(а): вот как это было в визио 2003 в визио 2010 это окно выглядит так Эм.. Что-то разницы не вижу... |
Автор: | Surrogate [ 18 фев 2014, 21:30 ] |
Заголовок сообщения: | Re: Печать в PDF документов с нестандартными размерами листов |
а теперь ? |
Автор: | Qwertiy [ 20 фев 2014, 18:05 ] |
Заголовок сообщения: | |
Surrogate писал(а): а теперь ? Это я сразу заметил. Решил, что просто пункт переименовали... А ещё, я потом заметил наличие 4го радиобаттона, нажал кнопку edit, чтобы дописать, немного отвлёкся, сломал браузер и совсем забыл, что собирался что-то ещё написать. |
Автор: | Surrogate [ 20 фев 2014, 18:17 ] |
Заголовок сообщения: | Re: |
Qwertiy писал(а): Surrogate писал(а): а теперь ? Это я сразу заметил. Решил, что просто пункт переименовали... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |