VBAで図形などのオートシェープを扱う場合、図形の種類によって処理を分けたい場合があります。
そのため、VBAのmsoShapeTypeクラスを一覧にまとめてみました。
Shape.Typeプロパティ | 値 | 説明 |
---|---|---|
msoShapeTypeMixed | -2 | 値のみを返す。その他の図形の種類の組み合わせ。 |
msoAutoShape | 1 | オートシェイプ。 |
msoCallout | 2 | 吹き出し。 |
msoChart | 3 | 埋め込みグラフ。 |
msoComment | 4 | コメント。 |
msoFreeform | 5 | フリーフォーム。 |
msoGroup | 6 | グループ化された図形。 |
msoEmbeddedOLEObject | 7 | 埋め込みOLE(Object Linking and Embedding)オブジェクト。 |
msoFormControl | 8 | フォームコントロール。 |
msoLine | 9 | 直線,、矢印。 |
msoLinkedOLEObject | 10 | リンクOLE(Object Linking and Embedding)オブジェクト。 |
msoLinkedPicture | 11 | リンクしている画像。 |
msoOLEControlObject | 12 | ActiveXコントロール。 |
msoPicture | 13 | 画像。 |
msoPlaceholder | 14 | プレースホルダー。Excelでは使用しない。 |
msoTextEffect | 15 | テキスト効果。 |
msoMedia | 16 | メディア。Excelでは使用しない。 |
msoTextBox | 17 | テキストボックス。 |
msoScriptAnchor | 18 | スクリプトアンカー。 |
msoTable | 19 | 表(テーブル)。 |
msoCanvas | 20 | キャンバス。 |
msoDiagram | 21 | 図表。 |
msoInk | 22 | インク。 |
msoInkComment | 23 | インクコメント。 |
msoSmartArt | 24 | スマートアート。 |
msoSlicer | 25 | スライサー。 |
msoWebVideo | 26 | Webビデオ。 |
プログラムでは定数でも値でもどちらでも使えます。
'画像でなければ処理 If Sh.Type <> msoPicture Then End If
'画像でなければ処理 If Sh.Type <> 13 Then End If