Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » DrawingObjectプロパティの戻り値は?

DrawingObjectプロパティの戻り値は?

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

「TypeName(Shp.DrawingObject)」
といった検索キーワードでアクセスがありました。

Excel VBAの、Shape.DrawingObjectプロパティの戻り値が、

Excel.Shape.DrawingObject

まだ明確になっていない方による検索でしょうか。

[スポンサードリンク]

Shape.DrawingObjectプロパティの戻り値は図形による

結論をお伝えすると、Shape.DrawingObjectプロパティの具体的な戻り値は、Shapeオブジェクトの種類によって変わります。

例えば、四角形であれば戻り値はRectngleオブジェクトで、楕円の場合はOvalオブジェクトです。

そのため、オブジェクトブラウザーで非表示メンバーを表示して、ShapeオブジェクトのDrawingObjectプロパティを選択すると、詳細ペインに「As Object」と表示されています。

Property Excel.Shapes.DrawingObject As Object

DrawingObjectプロパティの戻り値を確認するサンプルマクロ

オブジェクトブラウザーで定義を確認するだけでなく、実際にどのようなデータ(オブジェクト)が返されるのか、ローカルウィンドウでも確認しましょう。

アクティブなワークシートに、四角形のみを作成しておいてから、以下のSubプロシージャを実行してみてください。

Sub DrawingObjectプロパティの戻り値を確認する()
 Dim obj_1 As Object, obj_2 As Object
 With ActiveSheet.Shapes
  Set obj_1 = .Item(1).DrawingObject
  Set obj_2 = .Item(2).DrawingObject
 End With
 Stop
End Sub

Stopステートメントで中断したら、拙著『いちばんやさしいExcel VBAの教本』等で繰り返し利用しているローカルウィンドウを表示して、変数obj_1・obj_2の[値]欄を確認しましょう。

ローカルウィンドウ:Shape.DrawingObjectの型

四角形(Rectangle)を作成してから、楕円(Oval)を作成した場合、上図のように表示されます。

As Objecで宣言された変数に、
  Dim obj_1 As Object, obj_2 As Object

実際に参照が代入されて、実際に取得できたオブジェクトの型が「Object/Rectangle」「Object/Oval」と表示されています。

最終更新日時:2021-09-07 10:26

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » DrawingObjectプロパティの戻り値は?

「DrawingObjects」の記事一覧

検索


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

.