Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает значение строки выражения, являющейся частью правила объекта 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 и обратная связь.