「ShapeRange.ScaleWidth マクロ」
という検索キーワードでアクセスがありました。
Excelで選択されているShapeの横幅を、
上図のような、[図形の書式設定]作業ウィンドウ-[図形のオプション]-[サイズとプロパティ]-[幅の倍率]欄を使って拡大する操作をマクロ記録すると、
Selection.ShapeRange.ScaleWidth 1.5, msoFalse, msoScaleFromTopLeft
といったコードが自動的に作られます。
特にこの引数について調べていらしたのではないかと、想像しています。
ScaleWidth・ScaleHeightメソッドの引数の意味
ShapeオブジェクトやShapeRangeオブジェクトに用意されている、ScaleWidthメソッド・ScaleHeightメソッドには、3つの引数を指定できます。
3つの引数のうち、第1引数Factorと、第2引数RelativeToOriginalSizeの2つが必須です。
引数Factorは、難しくありません。倍率です。
引数RelativeToOriginalSizeには、図形の場合はmsoFalseを指定するしかありません。画像やOLEオブジェクトの場合に、引数RelativeToOriginalSizeにmsoTrueを指定すると元々のサイズを基準に、msoFalseを指定すると現在のサイズを基準に拡大/縮小が行われます。
引数Scaleには、(オブジェクトブラウザーからは読み取れませんが)MsoScaleFrom列挙型の定数を指定できます。
引数RelativeToOriginalSizeが「As MsoTriState」と定義されているのですから、引数Scaleも「As MsoScaleFrom」と定義しておいてくれていれば良かったのに、と私は感じます。
Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » ScaleWidth・ScaleHeightの引数
- Newer:ChartObjectのZOrderはプロパティ
- Older:InlineShapeを選択する