パワーポイント2013 総ページ数を自動で表示させる

パワーポイントで資料作ることが多くなってきましたが

どうもカトーです。フリーランス時代はMSのVisioやAdobe製品で資料で設計資料を作ることが多かったですが、会社になってから、上流工程前の提案書や資料としてパワーポイントの資料が作る事が増えて来ました。当然といえば当然ですが、結構手間のかかる工程です。スライドマスターなどでフォーマットとしてレイアウトを決めてはいるのですが、まだまだです。……で、パワーポイントはページ数が自動で入れることができるのですが、総スライド数はスライドマスターで手動で入れないと出来ないのが意外と不便です。

 

……で、意外オフィス製品はプログラム専用の他IDEとか違いユーザフレンドリ?なのか違って判りづらいの、今回イチから設定してみます。

 

早速、自動化

手順は、3つです。
1.パワーポイントでマクロを有効にする。
2.マクロを組む。
3.入れ込む


上部のメニューから、[ファイル]を選択、オプションを選択します。


上部に開発というメニューで出ました。これで、マクロが組めます。
マクロを押すとウィンドウが出ます。

適当に使うマクロの名前を入れます。判りやすい名前をつけます。今回は「総スライド挿入」と入れました。ちなみに日本語名前をつけると他の言語やクエリと同じで浮かないとか変な動作するとかたまにありますので、変な名前とか特殊文字になりそうな場合は「Insert_Total_pages」とかにしましょう。”なんで!あんた英語ばっかり使うのよ!まったくカッコイイと思ってんでしょ!”……という常に言うPGキラーの年配者がいる場合やルールに厳格なPGがいる場合などTPOに合わせてください。本当に。オフィス製品ですからね。えぇ。

こんな画面が立ち上がりますので、

マクロ名を入れて、作成を押します。そうすると、Microsoft Visual Basic for Application -~なるウィンドウがでますので、ここに記述をしていきます。

マクロを書く

早速、書きますが、以下コピーでOk!

Const DEFAULT_DIVIDER As String = "/"  '仕切り文字
Const SCALEDOWN_RATE As Single = 0.6   'x/Yの Y文字大きさ

Sub 総スライド挿入()
    Dim sld As Slide
    Dim shp As Shape
        
    For Each sld In ActivePresentation.Slides
        sld.DisplayMasterShapes = True
      
        For Each shp In sld.Shapes
            If Left(shp.Name, 12) = "Slide Number" Then
                Set TextRange = shp.TextFrame.TextRange
                TextRange.Text = sld.SlideNumber & DEFAULT_DIVIDER & ActivePresentation.Slides.Count
                
                Set charactersRange = TextRange.Characters(InStr(TextRange, DEFAULT_DIVIDER), TextRange.Characters.Count)
                charactersRange.Font.Bold = False
                charactersRange.Font.Size = TextRange.Font.Size * SCALEDOWN_RATE
            End If
        Next
    Next
End Sub

今回、下記サイトを参考にさせていただきました。
パワーポイントの総スライド数を思い通りに表示する様々な方法
@http://thepopp.com/how-to-insert-total-number-of-slides/

使い方

上部のマクロから、そのまま作ったマクロを実行でOkです。
ちなみにマクロウィンドウを出すのはALT+F8というショートカットなので、覚えておくと便利です。
注意点として、ページが増えたり減ったりしたら、再度マクロを実行してください。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG