更改SmartArtNodes的宽度或高度

是否有可能改变SmartArtNode的宽度或高度?

以下代码完全不起作用:

' mySmartArt is a SmartArt Object mySmartArt.AllNodes.Item(1).Shapes.Width = 4 

奇怪的是,如果你改变一个形状的宽度,它就可以工作。 所以我不知道SmartArtNodes的Shape对象为什么不能resize。 我所知道的唯一方法是使用更大或更小的方法,但是使用这种方法不可能只改变形状的宽度/高度。

如果我使用上面的代码,我总是会得到一个RunTime错误“对象不支持这个动作(错误445)”,这是奇怪的,因为通过Excel的GUI我可以改变单个节点的宽度和高度SmartArt没有问题。 所以,为什么不能通过VBA来改变它是没有任何意义的。

有人有一个想法我怎么能解决这个问题?

喜欢这个?

 Sub Macro1() Dim Sma As Shape Set Sma = ActiveSheet.Shapes.AddSmartArt(Application.SmartArtLayouts(2)) With Sma .ScaleHeight 1.5, msoFalse, msoScaleFromBottomRight .ScaleWidth 1.5, msoFalse, msoScaleFromTopLeft End With End Sub