Форма Visio получает индекс слоя от имени

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

Я могу сделать необходимый поиск, чтобы найти конкретное значение, но мне нужно перевести его на правильный индекс в списке слоев страницы.

По сути, мне нужно получить текущий индекс определенного слоя. Например, я знаю, что имя слоя - "Удалить", и мне нужен индекс в ThePage!Layers, чтобы я мог соответственно установить LayerMember. Индекс меняется от страницы к странице, поэтому мне нужно выполнить этот поиск в контексте страницы после того, как фигура была удалена на странице.

Как мне найти индекс записи в слоях ThePage!, Используя имя слоя в качестве индекса поиска. Синтаксис типа ThePage!Layers.Index["Remove"] не работает, и я не смог найти никакой другой информации в документации Microsoft.

1 ответ

Это возможно! Мой метод
я добавляю в свою форму 3 раздела: определяемые пользователем ячейки, данные формы, членство в слое.
Добавьте три новых раздела В разделе Shape Data я создаю одну строку, которая содержит селектор имени слоя
Определяемый пользователем раздел ячеек содержит две строки:
1. User.L_List хранит список всех слоев на странице. Я готовлю этот список, используя MS Excel. В столбце A я заполняю номера строк, как на картинке. Подготовьте список слоев в MS Excel
В ячейку B1 я помещаю формулу - Concatenate ("ThePage! Layers.Name"; A1)
В ячейку B2 я помещаю формулу - Concatenate (B1; "& Listsep () & ThePage! Layers.Name ["; A2; "]") и опускаю несколько строк по мере необходимости. Выберите нижнюю ячейку в столбце B и скопируйте это значение. Вставьте это значение в ячейку MS Visio User.L_List.
2. Следующая ячейка содержит формулу SETF (GetRef (LayerMember), LOOKUP (Prop.LayerName, User.L_List)),
которые назначают форму слою в соответствии со значением в ячейке Prop.LayerName

Другие вопросы по тегам