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

Форум по вопросам применения и программирования в Visio
Текущее время: 26 сен 2023, 02:43

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Ручное изменение типа master
СообщениеДобавлено: 04 сен 2023, 18:58 
Не в сети
Ветеран

Зарегистрирован: 23 апр 2015, 19:23
Сообщений: 296
Использую Visio c: 2013
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Как вручную поменять значение .Master выбранной фигуры?
А)
макросом (выделенной фигуры), типа:
Код:
Dim shp as Shape
Set shp = ActiveWindows.Selection.PrimaryItem
shp.Master="New_NAme_Master"


Б) тоже самое, но без макроса


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 04 сен 2023, 19:03 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 04 сен 2023, 19:04 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Вы не понимаете логики наследования.
Тут важны не буковки, а имя мастера, от которого унаследованы свойства шейпа. Буковки менять нет никакого смысла. Кроме вреда ничего не будет.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 04 сен 2023, 22:12 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 943
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100613

Добавить очки репутацииУменьшить очки репутации
Никак. Есть API .ReplaceShape, возможно это то что нужно

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 05 сен 2023, 10:20 
Не в сети
Ветеран

Зарегистрирован: 23 апр 2015, 19:23
Сообщений: 296
Использую Visio c: 2013
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Цитата:
Никак.

Понятно.
К вопросу "зачем":
Этот вопрос я встречал и ранее, значит не одному мне понадобилось.
Возможный пример общей задачи: на листах присутствуют заголовки разных уровней (аналогично облегчённый язык разметки Markdown), потом нужно собрать оглавление. При изменении иерархии потребуется менять тип заголовка. Не столько важны различия размера шрифта, автонумерация и т.п., важна возможность автопостроения иерархического оглавления.
Частная задача: в составе Реестр процессов компании
https://visio.getbb.ru/viewtopic.php?f=29&t=1945
1 Текстовые элементы. Есть заголовки и подзаголовки процессов, они заданы соответствующим шаблоном (.Master - master shape, Visio Stencil Library - трафарет). Кроме них текстом в схемах выделяются примечания и сокращения (у каждого свой тип). Потом при парсинге схемы каждый элемент анализируется по типу ".Master".
Если пользователь ошибся при отрисовке схемы с типом (например, примечание обозвал сокращением), то приходится элемент удалять, перетаскивать из шаблона новый, переносить текст фигуры (надписи) и др. Хотелось бы: выделил нужные элементы и сказал - теперь это тип такой - то.
2 Графические элементы. VAD - кораблики. Если пользователь при отрисовке выбрал из трафарета не тот VAD - кораблик (много их типов), то при анализе схемы получил неверный отчет (реестр процессов, сформированный на основе типов VAD - элементов). Сейчас при замене (исправлении) на нужный тип VAD - кораблика в добавление к п.1 приходится еще и его соединительные стрелки все по новой восстанавливать.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 05 сен 2023, 10:37 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5006
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
BPM писал(а):
Возможный пример общей задачи: на листах присутствуют заголовки разных уровней (аналогично облегчённый язык разметки Markdown), потом нужно собрать оглавление. При изменении иерархии потребуется менять тип заголовка.
А что мешает этим заголовкам добавить пользовательское свойство (SapeData), с выпадающим списком "уровней"?
Кстати этот вариант позволит быстро выделить несколько заголовков и через окно Данные фигуры изменить уровень
Встроенное видео спрятано под спойлер ↓ Прямая ссылка на видео
Спойлер:
phpBB [media]

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 05 сен 2023, 12:01 
Не в сети
Ветеран

Зарегистрирован: 23 апр 2015, 19:23
Сообщений: 296
Использую Visio c: 2013
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Цитата:
А что мешает этим заголовкам добавить пользовательское свойство (SapeData), с выпадающим списком "уровней"?

Применительно к Реестру процессов - вся аналитика уже построена на анализе свойства .Master.
Применительно к общим рассуждениям: через трафарет вроде бы привычнее, в том числе проще в него зашить (иерархия заголовков) и размер шрифта, выделение и т.п. Вообще, нет готового подхода к автопострению оглавления по элементам, размещенным внутри схемы (листа многостраничного документа)?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 05 сен 2023, 12:09 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5006
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
BPM писал(а):
вся аналитика уже построена на анализе свойства .Master.
Что за аналитика?
nbelyh писал(а):
Есть API .ReplaceShape, возможно это то что нужно
A) Тогда только так!
Б) Если ручками то так, кнопка на вкладке Главная (только в Visio 2013+)
Изображение
Дополнено позднее: Думаю конкретно для этой задачи подойдет только вариант (А) - Shape.ReplaceShape method!
Так как при ручной замене (Б) нет опции сохранения текста, который был у фигуры до замены…
Код:
expression.ReplaceShape (MasterOrMasterShortcutToDrop, ReplaceFlags)
При программной замене это возможно, там есть опции VisReplaceFlags.

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ручное изменение типа master
СообщениеДобавлено: 05 сен 2023, 15:39 
Не в сети
Ветеран

Зарегистрирован: 23 апр 2015, 19:23
Сообщений: 296
Использую Visio c: 2013
Очков репутации: 3

Добавить очки репутацииУменьшить очки репутации
Цитата:
Что за аналитика?

анализ заполненной таблички (см. excel файлик из Реестр процессов https://visio.getbb.ru/viewtopic.php?f=29&t=1945):

ID----Name (.Text)----------------------------------(.Name)-----------------------------Type (.Master)-----------------------file----------------listNum----listName--link
20----8.1-1.1 Подготовительные операции---_Верхнеуровневый процесс--- _Верхнеуровневый процесс-------bp8.1-1.vsdm---1-----------1----------ИСТИНА

Цитата:
Так как при ручной замене (Б) нет опции сохранения текста, который был у фигуры до замены…

Вроде вручную "Изменить фигуру" текст остается (visio 2016).


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

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



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

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


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

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