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

Форум по вопросам применения и программирования в Visio
Текущее время: 15 ноя 2019, 01:34

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: макрос, который добавляет мастер на вновь создаваемый лист
СообщениеДобавлено: 03 апр 2010, 10:14 
Не в сети
Глав-тролль

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

лет 5 назад я скачал макрос (правда не уверен что на старом форуме visio.artberg.ru), с помощью которого при добавлении новой страницы на нее добавлялся мастер с рамкой. Давно им не пользовался, теперь возникла необходимость воспользоваться вновь - но не могу его найти!

и еще один вопрос как правильно задавать пути трафаретов ?
в описании Developing Visio Solutions есть пример
Set stnObj = Documents("Basic Shapes.vss")
когда я пытаюсь указать свой путь, VBA выдает ошибку.


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

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1496
Очков репутации: 100599

Добавить очки репутацииУменьшить очки репутации
1. Что-то я не припомню такого. Наверное придется заново писать.
Но это не сложно. Примерно так:
Private Sub Document_PageAdded(ByVal Page As IVPage)
Dim Mast As Visio.Master
Set Mast = ActiveDocument.Masters("stamp")
Set sh = Page.Drop(Mast, 2, 2)
End Sub
Макрос должен быть записан в обработчике события Document_PageAdded. Обработчик будет вызываться при каждом добавлении новой страницы.
При вызове ему передается ссылка на новую страницу (Page). Остается только взять рамку и поместить ее в нужное место.
В примере рамка берется из Document Stencil и называется "stamp". В принципе, можно брать и из любого трафарета, только это будет чуть посложнее.
Позицию тоже определить поточнее. В примере для простоты штамп опускается в точку с координатами x=2, y=2.
---
2. Set stnObj = Documents("Basic Shapes.vss") - это не путь к трафарету, а выбор уже имеющегося открытого трафарета. Если трафарет еще не открыт, то нужно выполнить примерно такую операцию
Set stnObj = Documents.Add ("Basic Shapes.vss") и потом можно брать из него мастер-шейпы.
Set MastObj = stnObj.Masters("stamp").
Естественно, если потом понадобится еще раз взять мастер, то повторно Add выпонять уже не надо. Вот тогда надо будет использовать Set stnObj = Documents("Basic Shapes.vss").


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: макрос, который добавляет мастер на вновь создаваемый лист
СообщениеДобавлено: 04 апр 2010, 18:43 
Не в сети
Глав-тролль

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


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

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



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

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


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

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