Фильтрация фигур по мастеру в Visio с использованием Visual Basic - PullRequest
0 голосов
/ 30 ноября 2018

Итак, вот настройка: я использую Visio для создания диаграммы с использованием различных фигур из трафаретов.Позже у меня будут файлы Excel с данными, связанными с различными видами фигур.Файлы Excel будут обновляться довольно регулярно.Поскольку диаграмма будет довольно сложной, Shapes будут иметь гиперссылки, связанные с фигурами в текущем документе.Для гиперссылок мне нравится называть фигуры в соответствии с их значением.Это будет сделано вручную и один раз.

Итак, сейчас я пытаюсь программно изменить данные формы, соответствующие названию формы.Поскольку разным видам фигур назначены разные наборы данных, мне нужен способ фильтрации форм в документе по их виду / внешнему виду.Например: треугольники имеют дату, назначенную в качестве данных формы, а прямоугольники - почтовый индекс.Имея два треугольника с именами Берта и Эрни и три прямоугольника с именами Хьюи, Дьюи и Луи, соответствующие данные формы должны быть назначены.

Как определить, какой из набора фигур в объекте листа является треугольником икакой прямоугольник?

Кстати: мастер-свойство имеет Name и NameU (и другие поля), но они изменяются, когда вы присваиваете форме имя.Это то, что я пробовал до сих пор.Не повезло.

Любое предложение будет с благодарностью.

Dacrow28

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете использовать объект Selection, чтобы получить все фигуры определенного мастера, и он должен выполняться быстрее, чем поиск каждой фигуры.

Используйте метод Page.CreateSelection, и вы s

0 голосов
/ 04 декабря 2018

Поскольку я не могу пометить комментарий суррогата как ответ, я собираюсь процитировать его.

PS Если вы измените имя мастер-формы, свойство shp.Master.NameU будет содержать собственный master-имя формы!

Спасибо Суррогат.Это тот самый.Я полностью упустил из виду Учителя и совершенно ошибочно сконцентрировался на MasterShape.shp.Master.NameU и shp.Master.Name не изменяются при назначении сущности / фигуры имени фигуры.

...