子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

【Excel】【VBA】msoShapeTypeを一覧にまとめてみた

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