- ベストアンサー
目次生成ができるマクロが知りたいです
PowerPoint VBAにて下記内容の目次が生成できるマクロを探しております。 ・セクションから項目名を取得 ・ページ数自動取得 実行例 内容 セクション名:野菜 スライド数:4 セクション名:果物 スライド数:2 実行結果 目次 野菜 P.1~4 果物 P.5~6 わからないなりに1週間作成してみたのですが、ページ数の表示がどうしてもうまくいかず、途方に暮れております。 有識者の方々、どうかご教示いただけますでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
次の二点を前提とした記述です。 ・スライドの1枚目は目次用で、半角角スペース1つ入りのテキスト ボックスを1つだけ置いてあります。 ・2枚目以降が本文で、いくつかのセクションに分かれています。 Sub CrtIdx() Dim DT1 As String, DT2 As String, i As Long Dim SecId As Integer, SecNm As String, DumNm As String For i = 2 To ActivePresentation.Slides.Count SecId = ActivePresentation.Slides(i).sectionIndex SecNm = ActivePresentation.SectionProperties.Name(SecId) If SecNm <> DumNm Then If SecId <> 2 Then DT1 = DT2 & " ~ " & i - 1 & Chr(10) DT2 = DT1 & SecNm & " P." & i DumNm = SecNm End If Next ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange _ .Text = "目次" & Chr(10) & DT2 & " ~ " & i - 1 End Sub 実行すると、1枚目のスライドのテキストボックスに下図のように書き 込まれます。
その他の回答 (1)
- tsubu-yuki
- ベストアンサー率46% (179/386)
現状、どのように書かれているかわからないので、 とりあえずヒントになれば。 セクションの開始位置は取得できていますか? 他人さまのサイトへのリンクで恐縮ですが、 http://www.relief.jp/docs/013931.html http://www.relief.jp/docs/powerpoint-vba-get-first-and-last-slide-index-of-sectoin.html これらがヒントになるかもしれません。 お読みになってなお・・でしたら、 具体的にどこがわからないかを明示いただけるとアドバイスしやすいです。 パワーポイントのマクロについては情報が多くないので大変ですね。
お礼
ありがとうございました。
お礼
的確なご回答ありがとうございます。 不明瞭な質問内容でしたが、自分の期待した通りの挙動でした。 困っていたので、本当に助かりました。