「パワポ スライドタイトル左上位置取得 VBA」
という検索キーワードでのアクセスに気付きました。
詳細は不明ですが、スライドタイトルの左上の位置を取得するPowerPoint VBAのコードを探していらしたのでしょう。
いつものようにシンプルなSubプロシージャをご紹介しておきます。
スライドタイトルの左上位置を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブプレゼンテーション先頭スライドの、スライドタイトル左上の位置が、メッセージボックスに表示されます。With ActivePresentation.Slides(1).Shapes
If .HasTitle Then
MsgBox _
"左 : " & .Title.Left & vbCrLf & _
"上 : " & .Title.Top
End If
End With
End Sub
Shapes.Titleでスライドタイトルを表すShapeを取得できる
Shapesコレクションに用意されているTitleプロパティを使うと、
スライドのタイトルプレースホルダーを表すShapeオブジェクトを取得できます。
With ActivePresentation.Slides(1).Shapes
MsgBox _
"左 : " & .Title.Left & vbCrLf & _
"上 : " & .Title.Top
スライドのタイトルプレースホルダーなので、SlideオブジェクトがTitleプロパティ持っていると誤解してしまう方がいるかもしれませんが、SlideオブジェクトではなくSlideオブジェクトの子であるShapesコレクションにTitleプロパティは用意されています。
タイトルプレースホルダーも所詮はShapeオブジェクトですから、位置を表すLeftプロパティやTopプロパティを持っています。
Shapes.HasTitleでスライドタイトルが存在するかを判定
タイトルプレースホルダーがないスライドでShapes.Titleが評価されると実行時エラーが発生してしまうので、ShapesコレクションのHasTitleプロパティで、
スライドタイトルが存在するかを事前に判定しています。
With ActivePresentation.Slides(1).Shapes
If .HasTitle Then
- Newer:VBAで特定の列から空白セルを取得する
- Older:変数を使わずに別シートからVlookup
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » VBAでスライドタイトルの左上位置を取得する