2015-11-13 8 views
7

SmartArtNodeの幅または高さを変更することはできますか?SmartArtNodeの幅または高さを変更する

次のコードは、すべてでは動作しません:

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

を不思議なシェイプの幅を変更した場合、それは動作します。 SmartArtNodesのShape Objectsをリサイズすることができないのはわかりません。私が知っている唯一の方法は、メソッドを大きくしたり小さくしたりすることですが、このメソッドを使うと、形状の幅/高さを変更することはできません。

上記のコードを使用すると、ランタイムエラー「オブジェクトはこのアクションをサポートしていません(エラー445)」が表示されます。これはExcelのGUIで幅と高さを変更できるので奇妙です問題のないSmartArtの単一のノード。 VBAを使って変更することができないようにすべき理由がわかりません。

誰かがこの問題をどのように解決できるか考えていますか?

+0

http://www.tek-tips.com/viewthread.cfm?qid=1709060 5月13日19:23の投稿。彼がレイアウトを使用しているようですが、これがあなたに当てはまるかどうかはわかりませんが、面白そうですね! ;) – R3uK

+0

mySmartArt.AllNodes.Item(1).Shapes.Item(1).Width? –

+0

@ExcelDevelopers mySmartArt.AllNodes.Item(1).Shapes.Item(1).Widthも機能しません。 SmartArtNodeの場合、Shapeの幅や高さを変更することはできないようです。あなたは幅と高さを変えることができるので、それは奇妙なVBAはできません –

答えて

1

このようにします。

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 
+0

私の遅い応答に申し訳ありません。ただし、コードはSmartArt全体のサイズのみを変更します。 SmartArtNodesにしか適用されないように、私もそれを修正しようとしましたが、これはうまくいきませんでした。 –

関連する問題