Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » InlineShapeのScaleHeightとScaleWidthはプロパティ

InlineShapeのScaleHeightとScaleWidthはプロパティ

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

「inlineshapes.scaleheight」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

Word VBAのInlineShapeオブジェクトに用意されているScaleHeightプロパティについて調べていた方による検索です。

[スポンサードリンク]

InlineShape.ScaleHeightを使ったサンプルマクロ

簡単なサンプルを試してみましょう。
配置が行内に設定されている画像の存在する文書をアクティブな状態で、以下のSubプロシージャを実行してください。

Sub InlineShapeのScaleHeightを確認する()
 ActiveDocument.InlineShapes(1).ScaleHeight = 50
End Sub

「ActiveDocument.InlineShapes(1)」で取得できる1つ目の画像が、元の50%の高さになります。

知ってしまえば決して難しいコードではありません。が、経験のある方が注意すべき落とし穴があります。

InlineShapeのScaleHeight・ScaleWidthはメソッドではない

「ScaleHeight」をオブジェクトブラウザーで検索するとわかるとおり、InlineShapeオブジェクトと、Shape・ShapeRangeオブジェクトに、ScaleHeightは用意されています。

厄介なことに、ShapeオブジェクトとShapeRangeオブジェクトのScaleHeightはメソッドであるのに対し、InlineShapeオブジェクトのScaleHeightはプロパティなのです。

ScaleHeightの仲間であるScaleWidthも同様です。

ShapeオブジェクトやShapeRangeオブジェクトのScaleHeight・ScaleWidthプロパティをご存知の方が、初めてInlineShapeのScaleHeight・ScaleWidthメソッドを使うときには、混乱しそうです。

ExcelのScaleHeight・ScaleWidthはメソッド

Excel VBAのScaleHeight・ScaleWidthをご存知の場合も、同様に混乱しそうです。

WordのInlineShapeに該当するオブジェクトは、Excelには存在しません。
ですから、Excel VBAのScaleHeight・ScaleWidthは、ShapeオブジェクトまたはShapeRangeオブジェクトのメソッドです。

Excel VBAでScaleHeightメソッド・ScaleWidthメソッドをご存知の方が、Word VBAのInlineShape.ScaleHeightプロパティやInlineShape.ScaleWidthを初めて使うときには注意しましょう。

最終更新日時:2021-11-17 15:54

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » InlineShapeのScaleHeightとScaleWidthはプロパティ

「Shape・図形」の記事一覧

検索


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

.