「vba word 図形のサイズを取得」
という検索キーワードで、このサイト「インストラクターのネタ帳」へアクセスがありました。
図形のサイズを取得するSubプロシージャ
アクティブな文書に、浮動オブジェクトとしての図形を作成しておいてから、以下のSubプロシージャを実行してください。Dim shp As Shape
Set shp = ActiveDocument.Shapes.Item(1)
MsgBox _
"Width : " & shp.Width & vbCrLf & _
"Height : " & shp.Height
End Sub
Shapeオブジェクトの持つプロパティはPowerPoint VBAと似ている
上記のSubプロシージャは、1月24日に発売となった拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson 34「Shapeの位置と大きさを表すプロパティについて学習しましょう」で作成するSubプロシージャとよく似ています。
拙著はPowerPoint VBAの入門書で、アクティブなスライドの先頭スライドの1つ目の図形を取得するために、図形を取得するコード「.Shapes.Item(1)」の前が「ActivePresentation.Slides(1)」となっているのに対し、上記のSubプロシージャでは「.Shapes.Item(1)」の前が「ActiveDocument」となっています。
「ActiveDocument.Shapes.Item(1)」で、アクティブ文書の1つ目の図形を取得できます。
拙著で何度も行っているように、ローカルウィンドウを使ってオブジェクト変数shpを確認してみてください。
また、拙著Lesson 32「ShapesからShapeを取得するコードを理解しましょう」で解説しているのと同様に、Word VBAのShapesコレクションのItemメソッドも、既定メンバーですから、
「ActiveDocument.Shapes.Item(1)」は「ActiveDocument.Shapes(1)」と書くこともできます。
Word VBAのShapesコレクション・Shapeオブジェクトは、PowerPoint VBAのShapesコレクション・Shapeオブジェクトと似た部分の多いオブジェクトですから、Word VBAでの図形操作を理解したい方にとっても、拙著のChapter 5~6はお役に立てるのではないかと考えています。
最終更新日時:2020-01-31 05:54
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで図形のサイズを取得する