Метод GraphicItem.SetExpression (Visio)

Задает значение строки выражения, являющейся частью правила объекта GraphicItem , по которому оцениваются данные фигуры (настраиваемые свойства).

Примечание.

Этот объект или элемент Visio доступен только лицензированным пользователям Visio профессиональный 2013.

Синтаксис

выражение. SetExpression( _Field_ , _Expression_ )

выражение Выражение, возвращающее объект GraphicItem .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Field Обязательный VisGraphicField Метка или формула основного поля данных (столбца), назначенного элементу GraphicItem. Возможные значения см. в примечаниях.
Expression Обязательный String Выражение ShapeSheet, связанное с параметром Field.

Возвращаемое значение

Отсутствует

Примечания

Параметр Field должен быть одним из следующих значений из перечисления VisGraphicField , объявленного в библиотеке типов Microsoft Visio.

Константа Значение Описание
visGraphicPropertyLabel 1 Подпись элемента данных фигуры.
visGraphicExpression 2 Формула ShapeSheet элемента данных фигуры

Когда вы передаете методу SetExpression метку элемента данных фигуры (т. е. когда вы передаете visGraphicPropertyLabel для параметра Field), вы должны заключить метку в фигурные скобки ({}). Например, если вы хотите передать имя элемента данных фигуры "Стоимость", вы должны записать его так: {Стоимость}.

Ссылайтесь на данные фигуры, отличной от той, к которой применен рисунок, передавая имя фигуры, за которой следует восклицательный знак (!), а затем имя поля. Например, в показанном ниже примере для ссылки на ширину фигуры с именем Ellipse.34 можно использовать следующий синтаксис:

vsoGraphicItem.SetExpression visGraphicExpression, "Ellipse.34!Width"

Прежде чем вносить изменения в графический элемент, в том числе задавать строку выражения, необходимо использовать метод Master.Open, чтобы открыть для редактирования копию графического образца, к коллекции графических элементов которого принадлежит этот графический элемент. После настройки выражения графического элемента и внесения любых других изменений используйте метод Master.Close для фиксации изменений.

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод SetExpression, чтобы задать значение строки выражения для графического элемента, связанного с данными. Она открывает копию объекта Master типа visTypeDataGraphic (обычно называемого рисунком, связанным с данными) с именем "Data Graphic", а затем задает выражение первого графического элемента в коллекции GraphicItems рисунка, посвященного данным, для отображения ширины любой фигуры, к которой применяется рисунок, связанный с данными.

Примечание.

Чтобы определить имя существующего master, рисунков, связанных с данными, наведите указатель мыши на master в области задач "Рисунки, связанные с данными" в пользовательском интерфейсе Visio.

Затем он закрывает master и использует метод GetExpression, чтобы получить последнее примененное выражение для графического элемента. Наконец, она выводит тип поля и значение выражения в окне интерпретации.

Предполагается, что в текущем документе существует рисунок данных с именем "Рисунок, связанный с данными". Дополнительные сведения о добавлении графического master данных в коллекцию Masters текущего документа см. в разделе Masters.AddEx.

Public Sub SetExpression_Example() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoGraphicItem As Visio.GraphicItem 
    Dim strExpression As String 
    Dim fieldType As VisGraphicField 
 
    Set vsoMaster = Visio.ActiveDocument.Masters("Data Graphic") 
    Set vsoMasterCopy = vsoMaster.Open 
    Set vsoGraphicItem = vsoMasterCopy.GraphicItems(1) 
       
    vsoGraphicItem.SetExpression visGraphicExpression, "Width" 
    vsoMasterCopy.Close 
     
    vsoMaster.GraphicItems(1).GetExpression fieldType, strExpression 
     
    Debug.Print "Field type is "; fieldType 
    Debug.Print "Expression is "; strExpression 
     
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.