Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライド番号からセクション名を取得する

スライド番号からセクション名を取得する

対象:PowerPoint2010, PowerPoint2013

「スライド番号からセクション名を取得 powerpoint マクロ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

PowerPointでセクション名の一覧を取得するマクロを既にご紹介していますが、この検索は、スライド番号からセクション名を取得するマクロ・VBA(Visual Basic for Applications)のコードを探している方によるものです。(このような何を求めているのかが明確な検索はありがたいですw)

[スポンサードリンク]

以下のマクロが参考になるでしょう。


Sub スライド番号からセクション名を取得する()

 Dim sld_id As Long
 Dim sec_id As Long
 
 sld_id = InputBox("スライド番号を入力してください。")

 With ActivePresentation
  sec_id = .Slides(sld_id).sectionIndex
  MsgBox .SectionProperties.Name(sec_id)
 End With

End Sub

セクションの存在しているプレゼンテーションファイルで、上記のマクロを実行すると、「スライド番号を入力してください。」と表示されたインプットボックスが表示されます。

スライド番号を入力すると、そのスライドの含まれるセクション名がメッセージボックスに表示されます。

セクションという概念自体が、PowerPoint 2010から登場したものですから、2007以前のPowerPointでこのマクロを実行しようとしても、コンパイルエラーとなります。

また、セクションが存在していないプレゼンテーションファイルで実行した場合は実行時エラーが発生します。

ActivePresentation.Slides(sld_id)で、Slideオブジェクトが取得できて、SlideオブジェクトのsectionIndexプロパティで、そのスライドが所属するセクションのインデックス番号が取得できます。(VBAのプロパティやメソッドは、1文字目が大文字のことが一般的ですが、このsectionIndexプロパティは、どういうわけだか、1文字目が小文字です)

取得できたセクションのインデックス番号を、ActivePresentation.SectionProperties.Nameメソッドの引数に指定すると、セクション名が取得できます。(Nameというのは一般的にプロパティとなっていることが多いはずですが、SectionPropertiesオブジェクトのNameは、なぜか、メソッドです)

SlideオブジェクトがSectionName的なプロパティを持っていれば、もっと簡単にセクション名を取得できるはずですが、現状は上記のようにしないと、スライド番号からセクション名を取得することはできなさそうです。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライド番号からセクション名を取得する

TrackBack:0

TrackBack URL

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » スライド番号からセクション名を取得する

「Slide・スライド」の記事一覧

検索


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

.