
PowerPoint VBAを使い、JPG、PNG、PDFなどで保存する6通りのマクロをご紹介します。
選択中のスライドをファイル名をつけて指定の場所に保存、1スライドずつ保存して全ファイルを開く、1階層上に保存するマクロなどを解説します。
この記事の目次
選択中のスライドをJPGで保存
シンプルに選択中のスライドをJPG形式で同じ階層に保存するマクロです。「.jpg」「JPG」の部分は保存形式に合わせて変更してください。
Sub 選択中のスライドをJPGで保存()
Dim filePath As String
Dim fileName As String
With ActivePresentation
'保存場所
filePath = .Path
'ファイル名
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
End With
With ActiveWindow.View.Slide
'選択中のスライドを指定の場所にスライド番号をつけて保存
.Export filePath & "\" & fileName & .slideIndex & ".jpg", "JPG"
End With
End Sub選択中のスライドをJPGで保存してファイルを開く
選択中のスライドをJPG形式で同じ階層に保存し、保存したファイルを開くマクロです。
Sub 選択中のスライドをJPGで保存して開く()
Dim filePath As String
Dim fileName As String
Dim slideIndex As Long
With ActivePresentation
'保存場所
filePath = .Path
'ファイル名
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
End With
With ActiveWindow.View.Slide
slideIndex = .slideIndex
'選択中のスライドを指定の場所にスライド番号をつけて保存
.Export filePath & "\" & fileName & slideIndex & ".jpg", "JPG"
End With
'ファイルを開く
CreateObject("Shell.Application").ShellExecute filePath & "\" & fileName & slideIndex & ".jpg"
End Sub全スライドを1スライドずつPNGで保存
全スライドを1スライドずつPNG形式で同じ階層に1つのフォルダーにまとめて保存するマクロです。
Sub 全スライドを1スライドずつPNGで保存()
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スライドずつPNGで保存して全ファイルを開く
全スライドを1スライドずつPNG形式で同じ階層に1つのフォルダーにまとめて保存し、保存した全ファイルを開くマクロです。
Sub 全スライドを1スライドずつPNGで保存してファイルを開く()
Dim filePath As String
Dim fileName As String
Dim slideNum As Long
With ActivePresentation
'保存場所
filePath = .Path
'ファイル名
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
'指定の場所にファイルを保存
.Export filePath & "\" & fileName & ".png", "PNG"
End With
'スライド数だけ繰り返す
For slideNum = 1 To ActivePresentation.Slides.Count
'ファイルを開く
CreateObject("Shell.Application").ShellExecute filePath & "\" & fileName & "\" & "スライド" & slideNum & ".png"
Next slideNum
End Sub全スライドをPDFで保存してファイルを開く
全スライドをPDF形式で同じ階層に1つのファイルで保存し、保存したファイルを開くマクロです。
Sub 全スライドをPDFで保存してファイルを開く()
Dim filePath As String
Dim fileName As String
With ActivePresentation
'保存場所
filePath = .Path
'ファイル名
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
'指定の場所にファイルを保存
.Export filePath & "\" & fileName & ".pdf", "PDF"
End With
'ファイルを開く
CreateObject("Shell.Application").ShellExecute filePath & "\" & fileName & ".pdf"
End Sub全スライドをPDFで1階層上に保存してファイルを開く
全スライドをPDF形式で同じ階層に1つのファイルで保存し、保存したファイルを開くマクロです。
Sub 全スライドをPDFで1階層上に保存してファイルを開く()
Dim filePath As String
Dim fileName As String
With ActivePresentation
'保存場所
filePath = Left(.Path, InStrRev(.Path, "\") - 1)
'ファイル名
fileName = Left(.Name, InStrRev(.Name, ".") - 1)
'指定の場所にファイルを保存
.Export filePath & "\" & fileName & ".pdf", "PDF"
End With
'ファイルを開く
CreateObject("Shell.Application").ShellExecute filePath & "\" & fileName & ".pdf"
End Sub保存場所を指定する
保存場所は「filePath = .Path」で現在ファイルがある同じ階層に保存されるようにしています。指定の場所に保存したい場合は、「filePath = “C:\Users\ユーザー名\Desktop”」など、保存場所までのパスに変更しましょう。

保存場所にフォルダーを指定する場合は、フォルダーを「Shift + 右クリック」でメニューを開き、「パスのコピー」をして貼り付けると簡単です。






















