如何用vba更改SmartArt图形节点的形状?

SmartArt图形节点可以通过功能区的更改形状功能更改形状。

 

但是这个功能用录制宏无法录制出结果。

 

经过反复的测试,发现可以通过下面的代码实现:

 

Sub exceloffice()
    '作者QQ:1722187970,微信:xycgenius,公众号:水星Excel
    Dim oSP As Shape
    Set oSP = Sheet1.Shapes("OrgShp")
    Dim oNode As SmartArtNode
    For Each oNode In oSP.SmartArt.AllNodes
        oNode.Shapes.Item(1).Fill.UserPicture ("d:\1.png")
    Next
End Sub

 

首先把要变成的形状插入到工作表中,然后另存在电脑上,最后通过

FillFormat.UserPicture

方法填充电脑上的图形即可。

 

       

发表评论