パワーポイントで資料作ることが多くなってきましたが
どうもカトーです。フリーランス時代はMSのVisioやAdobe製品で資料で設計資料を作ることが多かったですが、会社になってから、上流工程前の提案書や資料としてパワーポイントの資料が作る事が増えて来ました。当然といえば当然ですが、結構手間のかかる工程です。スライドマスターなどでフォーマットとしてレイアウトを決めてはいるのですが、まだまだです。……で、パワーポイントはページ数が自動で入れることができるのですが、総スライド数はスライドマスターで手動で入れないと出来ないのが意外と不便です。
……で、意外オフィス製品はプログラム専用の他IDEとか違いユーザフレンドリ?なのか違って判りづらいの、今回イチから設定してみます。
早速、自動化
手順は、3つです。
1.パワーポイントでマクロを有効にする。
2.マクロを組む。
3.入れ込む
上部のメニューから、[ファイル]を選択、オプションを選択します。
上部に開発というメニューで出ました。これで、マクロが組めます。
マクロを押すとウィンドウが出ます。
適当に使うマクロの名前を入れます。判りやすい名前をつけます。今回は「総スライド挿入」と入れました。ちなみに日本語名前をつけると他の言語やクエリと同じで浮かないとか変な動作するとかたまにありますので、変な名前とか特殊文字になりそうな場合は「Insert_Total_pages」とかにしましょう。”なんで!あんた英語ばっかり使うのよ!まったくカッコイイと思ってんでしょ!”……という常に言うPGキラーの年配者がいる場合やルールに厳格なPGがいる場合などTPOに合わせてください。本当に。オフィス製品ですからね。えぇ。
マクロ名を入れて、作成を押します。そうすると、Microsoft Visual Basic for Application -~なるウィンドウがでますので、ここに記述をしていきます。
マクロを書く
早速、書きますが、以下コピーでOk!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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というショートカットなので、覚えておくと便利です。
注意点として、ページが増えたり減ったりしたら、再度マクロを実行してください。