【PowerPoint】パワポのスライドにある各図形の名前と種類を表示するメッセージボックスを表示【VBA】

目次

経緯

PowerPointのVBAでプログラムを書いています。

「各図形の名前と種類を表示するメッセージボックスを表示したい」

と思い、今回やってみました。

コード

では、コードです。

 Private Sub CommandButton_run_Click()
    ' スライド1を取得
    Dim pptSlide As slide
    Set pptSlide = ActivePresentation.Slides(1)

    ' 図形のリストを作成
    Dim shapeList As String
    shapeList = "スライド1の図形のリスト:" & vbCrLf
    Dim pptShape As shape

    For Each pptShape In pptSlide.Shapes
        shapeList = shapeList & "名前: " & pptShape.Name & ", タイプ: " & ShapeTypeName(pptShape.Type) & vbCrLf
    Next pptShape

    ' メッセージボックスに表示
    MsgBox shapeList, vbInformation
End Sub

Function ShapeTypeName(shapeType As MsoShapeType) As String
    Select Case shapeType
        Case msoAutoShape
            ShapeTypeName = "AutoShape"
        Case msoCallout
            ShapeTypeName = "Callout"
        Case msoCanvas
            ShapeTypeName = "Canvas"
        Case msoChart
            ShapeTypeName = "Chart"
        Case msoComment
            ShapeTypeName = "Comment"
        Case msoDiagram
            ShapeTypeName = "Diagram"
        Case msoEmbeddedOLEObject
            ShapeTypeName = "Embedded OLE Object"
        Case msoFormControl
            ShapeTypeName = "Form Control"
        Case msoFreeform
            ShapeTypeName = "Freeform"
        Case msoGroup
            ShapeTypeName = "Group"
        Case msoIgxGraphic
            ShapeTypeName = "SmartArt"
        Case msoInk
            ShapeTypeName = "Ink"
        Case msoInkComment
            ShapeTypeName = "Ink Comment"
        Case msoLine
            ShapeTypeName = "Line"
        Case msoLinkedOLEObject
            ShapeTypeName = "Linked OLE Object"
        Case msoLinkedPicture
            ShapeTypeName = "Linked Picture"
        Case msoMedia
            ShapeTypeName = "Media"
        Case msoOLEControlObject
            ShapeTypeName = "OLE Control Object"
        Case msoPicture
            ShapeTypeName = "Picture"
        Case msoPlaceholder
            ShapeTypeName = "Placeholder"
        Case msoScriptAnchor
            ShapeTypeName = "Script Anchor"
        Case msoShapeTypeMixed
            ShapeTypeName = "Mixed"
        Case msoTable
            ShapeTypeName = "Table"
        Case msoTextBox
            ShapeTypeName = "TextBox"
        Case msoTextEffect
            ShapeTypeName = "Text Effect"
        Case msoMedia
            ShapeTypeName = "Media"
        Case Else
            ShapeTypeName = "Unknown"
    End Select
End Function

こんな感じです。

参考になれば、幸いです。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次