Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » ScaleWidthやScaleHeightの引数

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2110 ビルド14527.20276 Microsoft Store)

「ShapeRange.ScaleWidth マクロ」
という検索キーワードでアクセスがありました。

倍率変更をマクロ記録すると作られるコード

Excel上で選択されているShape(図形)の横幅を下図のような、

[図形の書式設定]作業ウィンドウ-[図形のオプション]-[サイズとプロパティ]-[幅の倍率]欄を使って拡大する操作をマクロ記録すると、ScaleWidthメソッドを使った


Selection.ShapeRange.ScaleWidth 1.5, msoFalse, msoScaleFromTopLeft

といったコードが自動的に作られます。

[高さの倍率]を変更した場合には、ScaleHeightメソッドを使った


Selection.ShapeRange.ScaleHeight 1.5, msoFalse, msoScaleFromTopLeft

というコードが作られます。

[スポンサードリンク]

特にこの引数について調べていらしたのではないかと、想像しています。

ScaleWidthやScaleHeightの引数の意味

ShapeオブジェクトやShapeRangeオブジェクトに用意されている、ScaleWidthメソッド・ScaleHeightメソッドには、3つの引数Factor・RelativeToOriginalSize・Scaleを指定できます。

3つの引数のうち、第1引数Factorと、第2引数RelativeToOriginalSizeの2つが必須です。

第1引数Factorは難しくありません。倍率です。

第2引数RelativeToOriginalSizeには、図形の場合はmsoFalseを指定するしかありません。

画像やOLEオブジェクトの場合に、引数RelativeToOriginalSizeにmsoTrueを指定すると元々のサイズを基準に、msoFalseを指定すると現在のサイズを基準に拡大/縮小が行われます。

第3引数Scaleには、(オブジェクトブラウザーからは読み取れませんが)MsoScaleFrom列挙型に定義されている定数を指定できます。

第2引数RelativeToOriginalSizeが「As MsoTriState」と定義されているのですから、第3引数Scaleも「As MsoScaleFrom」と、Microsoftが定義しておいてくれていれば良かったのに……と思うのですが。

最終更新日時:2024-03-22 09:31

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » ScaleWidthやScaleHeightの引数

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.