Ссылка 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, чтобы убедиться, что фигура действительно находится на слое.

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