Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 18:05

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 13 фев 2014, 16:09 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Бывает довольно проблематично распечатать из Визио документы с нестандартными размерами листов и размером более А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

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 13 фев 2014, 21:50 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 13 фев 2014, 21:54 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
ExportAsFixedFormat для Visio >=2007


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 13 фев 2014, 22:32 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Robink писал(а):
Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят.
Из основных достоинств: конвертирование происходит за считанные секунды и то что ставит именно нужный формат листа. В визио 2010 зачем-то убрали настройку листа "Так же как размер листа принтера", поэтому приходится ручками выставлять :(
9rey писал(а):
ExportAsFixedFormat для Visio >=2007
Спасибо, напомнил :)
Хотел про это написать, но устал писать камменты к коду и забыл…


Вложения:
Комментарий к файлу: Открыть стенсил и вытащить из него единственный мастер
ExportToPDF.zip [13.02 Кб]
Скачиваний: 261

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 14 фев 2014, 11:42 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Robink писал(а):
Я тоже пользуюсь встроенным экспортом в pdf. тут нет обработки ошибки в случае если файл занят.
Из основных достоинств: конвертирование происходит за считанные секунды и то что ставит именно нужный формат листа. В визио 2010 зачем-то убрали настройку листа
Где убрали?
Я использую в 10
Код:
Doc.ExportAsFixedFormat visFixedFormatPDF, doc_name, visDocExIntentPrint, visPrintAll, 1, 1, False, True, True, True, False


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 14 фев 2014, 12:04 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Surrogate писал(а):
В визио 2010 зачем-то убрали настройку листа
я имел в виду в интерфейсе в настройках печати.
вот как это было в визио 2003
Изображение
в визио 2010 это окно выглядит так
Изображение

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 18 фев 2014, 19:25 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
вот как это было в визио 2003
в визио 2010 это окно выглядит так

Эм.. Что-то разницы не вижу...


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Печать в PDF документов с нестандартными размерами листов
СообщениеДобавлено: 18 фев 2014, 21:30 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
а теперь ? Изображение
Изображение

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 фев 2014, 18:05 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
а теперь ?

Это я сразу заметил. Решил, что просто пункт переименовали...

А ещё, я потом заметил наличие 4го радиобаттона, нажал кнопку edit, чтобы дописать, немного отвлёкся, сломал браузер и совсем забыл, что собирался что-то ещё написать.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re:
СообщениеДобавлено: 20 фев 2014, 18:17 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Qwertiy писал(а):
Surrogate писал(а):
а теперь ?

Это я сразу заметил. Решил, что просто пункт переименовали...
к сожалению нет, не один я огорчен http://blogs.msdn.com/b/visio/archive/2 ... 2#comments

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB