Как я могу установить изображение, связанное с узлом в графике 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

надеюсь, что это имеет смысл!

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