Ссылка ShapeSheet на страницу Visio в формуле таблицы форм
Я пытаюсь установить в текстовом поле фигуры имя слоя, на котором она находится (Visio 2010). Я должен быть в состоянии установить формулу к этому:
= ThePage! Layers.Name [LayerMember]
но это не работает, потому что LayerMember является строкой, а фигура может быть на нескольких слоях, т.е. LayerMember = "3", если она только на 3-м слое, но может быть "3;2;5", если она на трех разные слои. Таким образом, использование LEFT(LayerMember, 1) возвращает первое значение в списке, но помещение его в поле индекса приведенной выше формулы также не работает. Помещение статического значения в поле индекса работает очень хорошо, но я хочу иметь возможность изменить слой фигуры и сделать так, чтобы текст на фигуре изменился на имя слоя.
Использование LEFT(LayerMember, 1) возвращает строку. Я не могу найти способ преобразовать строковое значение в число, чтобы получить значение имени слоя из формы страницы.
Я новичок в Visio, но по какой-то причине я не могу понять это.
1 ответ
Слой - это свойство формы, поэтому попробуйте shpObj.Layer(1). Имя, которое даст вам имя первого слоя, на котором находится фигура. Вам нужно будет проверить shjObj.LayerCount, чтобы убедиться, что фигура действительно находится на слое.