Создание формы с параметрами в Visio

Создание формы с параметрами в Visio

Некоторые из предустановленных фигур, которые идут с Visio 2007, имеют параметры. Например, если я вставляю SPDT со страницы Электротехника › Переключатели и реле фигур в свой чертеж, я могу щелкнуть по нему правой кнопкой мыши и выбрать «Установить положение переключателя».

Как я могу добавить такую ​​функциональность к своим собственным фигурам?

решение1

Я не уверен, насколько вы знакомы с Visio, но под любой фигурой есть что-то, называемое shapesheet. Shapesheet — это, по сути, электронная таблица, где каждая ячейка направляет Visio в рендеринге вашей фигуры (или иным образом хранит данные).

Чтобы попасть туда, я полагаю, вам нужно включить режим разработчика в Visio, затем вы можете щелкнуть правой кнопкой мыши по фигуре и выбрать окно таблицы фигур. Я думаю, это также в раскрывающемся списке/ленте окна.

Так или иначе, как только вы попадаете в таблицу фигур, вы можете видеть такие элементы, как ширина фигуры, высота и т. д. И если вы выберете ячейку, скажем, с шириной, вы, вероятно, увидите только значения, но со знаком = перед ними. Так что вместо прямого значения ширины, это на самом деле формула. Измените формулу высоты на =Ширина/2, и вы увидите, что при изменении ширины высота остается равной половине ширины.

Итак, чтобы приблизиться к ответу на ваш вопрос, я предполагаю, что фигура, о которой вы говорите, использует трюки таблицы фигур для того, что она делает. В таблице фигур есть много разных типов данных, и она обычно разбита на разделы. Раздел, который определяет контекстное меню для фигуры, называется разделом «Действия пользователя». Если вы просмотрите таблицу фигур для фигуры-переключателя, вы, вероятно, найдете ячейку действия, в которой есть формула, которая изменяет значение какой-то другой ячейки с помощью SetF или чего-то подобного. Так что фигура, вероятно, настроена таким образом, что переключение значения одной ячейки меняет ее внешний вид.

Итак, чтобы настроить свою собственную форму таким образом, вам нужно сделать что-то похожее, по сути, создать ячейку пользователя, которая содержит выбранный параметр. Затем все ваши другие формулы должны быть настроены на чтение этой ячейки. Затем ваша ячейка действия устанавливает параметр при щелчке по нему.

Еще одно, что вы можете сделать, — это использовать VBA в Visio для реагирования на щелчки мышью (используя другую формулу — callthis), но в этом случае ваш VBA будет изменять значения и формулы таблицы фигур, просто используя, по сути, другой язык.

В Интернете есть огромное количество информации о том, как все это сделать, но для поиска вам нужно знать одно слово: ShapeSheet.

Связанный контент