Как я могу установить изображение, связанное с узлом в графике SmartArt?
Графика SmartArt может иметь изображения, связанные с "узлами" (хотя это используется только некоторыми шаблонами SmartArt). Я знаю, как установить текст узла с помощью автоматизации VBA/VSTO, но я не могу понять, как установить изображение.
Это можно сделать?
1 ответ
Решение
Попробуйте что-то вроде этого - если вы работали в VBA с помощью Smartart, это имеет смысл.
Dim oSALayout As SmartArtLayout
Dim QNode As SmartArtNode
Dim oShp As Shape
Set oSALayout = Application.SmartArtLayouts(91) 'reference to organization chart
Set oShp = Chart.Shapes.AddSmartArt(oSALayout, ileft, 2, iWidth, iHeight)
Set QNode = oShp.SmartArt.AllNodes.Add
...
' note that there may be more than one shape associated with each node, I found that those org chart/smart art layouts with a specific "picture box" typically use Shapes.Item(2)
With QNode.Shapes.Item(1).Fill
.Visible = msoTrue
.UserPicture "c:\somepath\picture.jpg"
.TextureTile = msoFalse
End With
надеюсь, что это имеет смысл!