パワーポイントのスライドを図として保存すると、何かと便利な場面がありますよね。
個人的にはExcel資料作成にてプレビューではOKなのにいざ印刷際にズレていたりすることが多々あり、
パワポで作ったものを図として貼り付けて解決した経験があります。
そんな時、簡単なマクロを作成し全スライドを連続的に画像として保存できたらとても便利です。
本記事では「全スライドを画像として保存するマクロ」と「ファイル名を変更するマクロ」について紹介します。
完成イメージ
図のようにスライドがpngファイルとして連続で保存されていきます。
スライドマスターの設定
本題からはそれた内容になりますが、スライドマスターを使うとスライド順に番号を表示できるようになります。
表示からスライドマスターを選択し、<#>と入力するだけで完了です。
スライドの順序を変更した場合でも自動で対応してくれます。
便利な機能なので覚えておいて損はないです。
全スライドを画像として保存するマクロ
スライドを保存したいパワーポイントをアクティブな状態にし、以下を実行するとパワポファイルがある場所に新しいフォルダが作成されます。
新しく作成されるフォルダはパワポファイル名と同じになります。
図はpngファイルとして保存するように指定しています。
Sub スライドずつ画像で保存()
Dim filePath As String
Dim fileName As String
With ActivePresentation
'保存場所を設定
filePath = .Path
'ファイル名の定義
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
'保存場所にファイルを保存
.Export filePath & "\" & fileName & ".png", "png"
End With
End Sub
簡単にできましたね。
ただし、ファイル名の番号が1,2,3となってしまう点に注意が必要です。
色々やり方を模索しましたが、次に紹介するマクロで解決するのが無難かと思います。
ファイル名を変更するマクロ
一つ問題を挙げるとすれば自動で振られる番号が1,2,3となる点。
10番台までいくと名前を並べた際に1,10,11・・・2,21・・・となってしまう問題があります。
そこでファイル名を1→01, 2→02とする方法を紹介します。
Name ●● As ●●を使うと簡単にできます。
Name 変更したいファイル名 As 変更後のファイル名
Sub ファイル名変更(filePath, fileName)
Name filePath & "\" & fileName & "\" & "スライド1.PNG" As filePath & "\" & fileName & "\" & "スライド01.PNG"
Name filePath & "\" & fileName & "\" & "スライド2.PNG" As filePath & "\" & fileName & "\" & "スライド02.PNG"
Name filePath & "\" & fileName & "\" & "スライド3.PNG" As filePath & "\" & fileName & "\" & "スライド03.PNG"
Name filePath & "\" & fileName & "\" & "スライド4.PNG" As filePath & "\" & fileName & "\" & "スライド04.PNG"
Name filePath & "\" & fileName & "\" & "スライド5.PNG" As filePath & "\" & fileName & "\" & "スライド05.PNG"
End Sub
最終的なコード
スライドを画像として保存した後にcall文でファイル名を変更するマクロを呼び出せば完了です。
Sub スライドずつ画像で保存()
Dim filePath As String
Dim fileName As String
With ActivePresentation
'保存場所を設定
filePath = .Path
'ファイル名の定義
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
'保存場所にファイルを保存
.Export filePath & "\" & fileName & ".png", "png"
End With
call ファイル名変更(filePath, fileName)
End Sub
Sub ファイル名変更(filePath, fileName)
Name filePath & "\" & fileName & "\" & "スライド1.PNG" As filePath & "\" & fileName & "\" & "スライド01.PNG"
Name filePath & "\" & fileName & "\" & "スライド2.PNG" As filePath & "\" & fileName & "\" & "スライド02.PNG"
Name filePath & "\" & fileName & "\" & "スライド3.PNG" As filePath & "\" & fileName & "\" & "スライド03.PNG"
Name filePath & "\" & fileName & "\" & "スライド4.PNG" As filePath & "\" & fileName & "\" & "スライド04.PNG"
Name filePath & "\" & fileName & "\" & "スライド5.PNG" As filePath & "\" & fileName & "\" & "スライド05.PNG"
End Sub