【入門編】【初心者】デスクトップ上にあるすべてのPPTXファイルに対して、自動的に最新の日付をファイル名末尾に付与してバックアップ保存するマクロ – PowerPoint VBA解析バイブル

スポンサーリンク

デスクトップ上のPPTXに自動で日付バックアップ!初心者向けPowerPoint VBAマクロ完全ガイド

皆さん、こんにちは!業務自動化エンジニアの〇〇です。

「今日も一日お疲れ様でした!さて、今日の資料のバックアップは…あれ?上書きしちゃったかな?」

そんな経験、ありませんか?毎日の終わりに、大切なPowerPointファイル(.pptx)を「ファイル名_日付.pptx」のようにリネームしてバックアップする作業。地味ですが、うっかりミスを防ぐためには欠かせないルーティンですよね。

でも、この手作業、正直面倒だし、何よりも「うっかり上書き」のリスクがゼロではありません。

そこで今回は、そんな面倒な作業をワンクリックで解決できる、デスクトップ上にある全ての.pptxファイルに自動で最新の日付を付与してバックアップ保存するPowerPoint VBAマクロをご紹介します!

「VBAって難しそう…」と思っている初心者の方でも大丈夫!マクロの記録から一歩進んで、自分でコードを書いてみたい、という方にもピッタリな内容です。図解と丁寧な解説で、一つ一つ紐解いていきましょう。このマクロをマスターすれば、あなたのPowerPoint作業は格段に快適になりますよ!

なぜ「日付バックアップ」が重要なのか? ~「上書き事故」を防ぐための鉄則~

まず、なぜこの「日付バックアップ」という習慣が大切なのか、その本質に触れてみましょう。

PowerPointに限らず、どんなアプリケーションでもファイル作業をしていると、必ず遭遇する恐怖。それが「上書き事故」です。

  • 「あれ?この前のバージョン、どこ行ったっけ?」
  • 「間違って、大事な箇所を消して保存しちゃった…!」

こんな時、バックアップがあれば「昨日の状態に戻せる」という安心感が得られます。日付をファイル名に入れるのは、そのバックアップの中から「いつの状態」に戻したいか、を明確にするための、最もシンプルで効果的な方法なのです。

このマクロは、まさにこの「上書き事故」を未然に防ぎ、「いつでも過去の状態に戻れる」という絶対的な安心感をあなたに提供します。

マクロの全体像を掴もう! ~何が起きるの?~

今回作成するマクロは、具体的に以下の動作を行います。

1. デスクトップをスキャン: あなたのPCのデスクトップ上にある全てのファイルをチェックします。
2. .pptxファイルだけを選別: その中で、拡張子が「.pptx」のものだけを対象とします。
3. 最新の日付を取得: 現在の日付と時刻を取得します。
4. 新しいファイル名を作成: 元のファイル名に、取得した日付を末尾に追加した新しいファイル名を作成します。(例: `資料.pptx` → `資料_20231027_1730.pptx`)
5. バックアップとして保存: 元のファイルとは別の場所に、新しいファイル名で保存します。
6. 元のファイルはそのまま: 元のファイルは一切変更されません。

イメージ図:

[デスクトップ]
└─ 資料.pptx ———> (マクロ実行) ———> [バックアップフォルダ]
└─ 議事録.pptx └─ 資料_20231027_1730.pptx
└─ 報告書.pptx └─ 議事録_20231027_1730.pptx
└─ 報告書_20231027_1730.pptx

どうです?シンプルで、でもすごくパワフルなのが分かりますよね!

VBAコードを書いてみよう! ~初心者でも大丈夫!~

では、いよいよコードを書いていきましょう。

準備:VBAエディタを開く

まず、PowerPointを開き、VBAエディタ(Visual Basic for Applications editor)を開きます。

  • ショートカットキー: `Alt` + `F11`
  • メニューから: 「開発」タブ → 「Visual Basic」

![VBAエディタの例](https://via.placeholder.com/600×300/f0f0f0?text=VBA+Editor)
※「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」で、「開発」にチェックを入れてください。

VBAエディタが開いたら、左側の「プロジェクト」ウィンドウで、現在開いているPowerPointファイル(例: `VBAProject (PowerPoint)`)を選択し、右クリック → 「挿入」 → 「標準モジュール」を選択します。

![標準モジュールの挿入](https://via.placeholder.com/600×300/f0f0f0?text=Insert+Module)

右側の広いエリアにコードを入力していきます。

コード入力:バックアップマクロ本体

それでは、以下のコードをコピー&ペーストして、先ほど作成した標準モジュールに貼り付けてください。

‘==============================================================================
‘ Macro Name: BackupPPTXWithTimestamp
‘ Description: デスクトップ上の全てのPPTXファイルを、最新の日付と時刻を
‘ 付与して指定のバックアップフォルダに保存します。
‘ Author: 〇〇 (業務自動化エンジニア)
‘ Date: 2023/10/27
‘==============================================================================

Sub BackupPPTXWithTimestamp()

‘————————————————————————–
‘ 変数宣言
‘————————————————————————–
Dim objApp As Object ‘ PowerPointアプリケーションオブジェクト
Dim objPres As Object ‘ PowerPointプレゼンテーションオブジェクト
Dim objShell As Object ‘ シェルオブジェクト (フォルダ操作用)
Dim desktopPath As String ‘ デスクトップのパス
Dim backupFolderPath As String ‘ バックアップ先フォルダのパス
Dim originalFilePath As String ‘ 元ファイルのフルパス
Dim fileNameWithoutExt As String ‘ 拡張子なしのファイル名
Dim timestamp As String ‘ 日付と時刻の文字列
Dim newFileName As String ‘ 新しいファイル名
Dim newFilePath As String ‘ 新しいファイルのフルパス
Dim foundPPTX As Boolean ‘ PPTXファイルが見つかったかどうかのフラグ

‘————————————————————————–
‘ 初期設定
‘————————————————————————–
‘ PowerPointアプリケーションオブジェクトを取得 (現在実行中のPowerPointを指す)
Set objApp = Application

‘ シェルオブジェクトを作成 (ファイルパスの取得などに使用)
Set objShell = CreateObject(“Shell.Application”)

‘ デスクトップのパスを取得
‘ objShell.Namespace(0).Self.Path はデスクトップを指します
desktopPath = objShell.Namespace(0).Self.Path

‘ バックアップ先フォルダのパスを設定
‘ ※★★重要★★:このパスはご自身の環境に合わせて変更してください!★★
‘ 例: C:\Users\YourUsername\Documents\PowerPointBackup
backupFolderPath = Environ(“USERPROFILE”) & “\Documents\PowerPointBackup” ‘ 例: Documentsフォルダ内に作成

‘————————————————————————–
‘ バックアップフォルダの存在チェックと作成
‘————————————————————————–
‘FileSystemObjectを使うと、フォルダの存在チェックや作成が容易になります
Dim fso As Object
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘ バックアップフォルダが存在しない場合
If Not fso.FolderExists(backupFolderPath) Then
On Error Resume Next ‘ エラーが発生しても処理を続行する
‘ フォルダを作成
fso.CreateFolder backupFolderPath
‘ エラーが発生した場合(権限がないなど)は、メッセージを表示して終了
If Err.Number <> 0 Then
MsgBox “バックアップフォルダを作成できませんでした。” & vbCrLf & _
“パス: ” & backupFolderPath & vbCrLf & _
“権限などを確認してください。”, vbCritical, “エラー”
Exit Sub ‘ マクロを終了
End If
On Error GoTo 0 ‘ エラーハンドリングを元に戻す
MsgBox “バックアップフォルダを作成しました: ” & backupFolderPath, vbInformation, “フォルダ作成完了”
End If

‘————————————————————————–
‘ デスクトップ上のPPTXファイルを検索してバックアップ
‘————————————————————————–
foundPPTX = False ‘ 初期化

‘ デスクトップ上の全てのファイルとフォルダをループ処理
‘ objShell.Namespace(desktopPath).Items はデスクトップ上のアイテムのコレクション
For Each item In objShell.Namespace(desktopPath).Items
‘ ファイル名(.Name)が “.pptx” で終わるかチェック
‘ LCase関数で大文字小文字を区別しないようにしています
If LCase(item.Name) Like “.pptx” Then
foundPPTX = True ‘ PPTXファイルが見つかったフラグを立てる

‘ 現在のプレゼンテーションオブジェクトを取得
‘ ※注意: このマクロは、現在PowerPointで開いているプレゼンテーションを
‘ 対象とはしません。デスクトップ上の「ファイル」を処理します。
‘ もし、現在開いているファイルをバックアップしたい場合は、
‘ 「ActivePresentation」オブジェクトを使用します。
‘ 今回は「デスクトップ上にある全てのPPTXファイル」が対象なので、
‘ このループ処理で個別に開いて処理します。

‘ 元ファイルのフルパスを構築
originalFilePath = desktopPath & “\” & item.Name

‘ ファイル名から拡張子を除いた部分を取得
‘ Split関数で “.” を区切り文字として分割し、最後の要素を除いた部分を取得
fileNameWithoutExt = Left(item.Name, InStrRev(item.Name, “.”) – 1)

‘ 現在の日付と時刻を取得し、フォーマットする (YYYYMMDD_HHMMSS形式)
‘ Format関数で日付の表示形式を指定できます
timestamp = Format(Now, “yyyymmdd_hhmmss”)

‘ 新しいファイル名を生成
newFileName = fileNameWithoutExt & “_” & timestamp & “.pptx”

‘ 新しいファイルのフルパスを構築
newFilePath = backupFolderPath & “\” & newFileName

‘——————————————————————
‘ バックアップ処理:ファイルをコピーして保存
‘——————————————————————
‘ PowerPointアプリケーションを一時的に非表示にして、
‘ バックアップ処理中の画面表示のちらつきを防ぐ (任意)
‘ Application.Visible = msoFalse ‘ ※これは現在開いているPPTを非表示にするので、今回は使わない

‘ PowerPointのSaveAs2メソッドを使用して、新しいファイル名で保存
‘ OpenDialog = False にすることで、保存ダイアログを表示させない
‘ FileFormat:=ppSaveAsPPTX (ppSaveAsPPTX = 24) は、PPTX形式で保存することを指定
‘ ※注意:SaveAs2メソッドは、対象のプレゼンテーションオブジェクトを
‘ 開いていないと使えません。そのため、一度開いて保存し、
‘ その後閉じる、という処理を行います。

On Error Resume Next ‘ エラー処理を有効にする (ファイルが開けない場合など)

‘ PowerPointアプリケーションオブジェクト(objApp)を使って、
‘ 新しいプレゼンテーションオブジェクトを生成し、
‘ 指定したパスに保存します。
Dim tempPres As Presentation
Set tempPres = objApp.Presentations.Add

‘ 元のプレゼンテーションの内容を一時的に作成したプレゼンテーションにコピー
‘ (※ただし、SaveAs2メソッドは開いているプレゼンテーションに対して実行するため、
‘ ここでは直接指定したパスに保存するのではなく、
‘ 一度開いてからSaveAs2を使うのが一般的ですが、
‘ 今回はデスクトップ上のファイルを直接保存したいので、
‘ Set objPres = Application.Presentations.Open(originalFilePath) を使用し、
‘ その後SaveAs2を実行するのがより一般的です。
‘ しかし、デスクトップ上のファイルを直接開かずにコピーする方が
‘ 安全な場合もあるため、ここでは「SaveCopyAs」メソッドを使用します。
‘ 「SaveCopyAs」は、現在開いているプレゼンテーションを
‘ 指定したパスにコピー保存します。
‘ ※しかし、デスクトップ上のファイルを「開かずに」コピーしたいので、
‘  VBAのFileSystemObjectのCopyFileメソッドが最適です!
‘  PowerPointのオブジェクトを使わずに、OSの機能でコピーします。
‘  この方が、PowerPointが開いていないファイルでも処理でき、
‘  かつ高速です。

‘ PowerPointのオブジェクトを使わず、OSの機能でファイルをコピーします。
‘ この方法が、デスクトップ上の「全ての」PPTXファイルを
‘ 開かずにバックアップするのに最も適しています。
fso.CopyFile originalFilePath, newFilePath, True ‘ Trueは上書きを許可

‘ エラーが発生した場合の処理
If Err.Number <> 0 Then
MsgBox “ファイルのバックアップ中にエラーが発生しました: ” & item.Name & vbCrLf & _
“エラー番号: ” & Err.Number & vbCrLf & _
“エラー内容: ” & Err.Description, vbCritical, “バックアップエラー”
‘ エラーが発生しても、次のファイルに進む
Else
‘ 成功した場合のメッセージ (任意)
‘ Debug.Print “バックアップ成功: ” & newFileName ‘ イミディエイトウィンドウに表示
End If

On Error GoTo 0 ‘ エラーハンドリングを元に戻す

End If ‘ .pptx で終わるかどうかの If 文終了
Next item ‘ 次のアイテムへ

‘————————————————————————–
‘ 処理終了メッセージ
‘————————————————————————–
If foundPPTX Then
MsgBox “デスクトップ上のPPTXファイルのバックアップが完了しました!” & vbCrLf & _
“バックアップ先: ” & backupFolderPath, vbInformation, “バックアップ完了”
Else
MsgBox “デスクトップ上にPPTXファイルは見つかりませんでした。”, vbInformation, “処理完了”
End If

‘————————————————————————–
‘ オブジェクトの解放
‘————————————————————————–
Set fso = Nothing
Set objShell = Nothing
Set objApp = Nothing
‘ Set objPres は使用していないので不要

End Sub

コードを読み解く! ~ここがポイント!~

コードを貼り付けただけでは、魔法のように動いてくれません。一つ一つの行が何をしているのか、理解することが大切です。

‘==============================================================================
‘ Macro Name: BackupPPTXWithTimestamp
‘ Description: デスクトップ上の全てのPPTXファイルを、最新の日付と時刻を
‘ 付与して指定のバックアップフォルダに保存します。
‘ Author: 〇〇 (業務自動化エンジニア)
‘ Date: 2023/10/27
‘==============================================================================

これはマクロの「ヘッダー」部分です。マクロの名前、説明、作成者、日付などを記述します。自分や他の人が後から見たときに、何をするマクロなのか、すぐに分かるようにしておきましょう。コメント(`’`から始まる行)は、コードの実行には影響しません。

Sub BackupPPTXWithTimestamp()
‘ ここにコードが続きます
End Sub

`Sub` で始まり `End Sub` で終わるブロックが、一つのVBAプロシージャ(マクロ)です。`BackupPPTXWithTimestamp` がこのマクロの名前です。

‘————————————————————————–
‘ 変数宣言
‘————————————————————————–
Dim objApp As Object
Dim objPres As Object
Dim objShell As Object
Dim desktopPath As String
Dim backupFolderPath As String
Dim originalFilePath As String
Dim fileNameWithoutExt As String
Dim timestamp As String
Dim newFileName As String
Dim newFilePath As String
Dim foundPPTX As Boolean

これは「変数宣言」の部分です。`Dim` は「Declare Integer Memory」の略で、変数(データを一時的に保存する箱)を宣言する命令です。

  • `Object`: 様々なオブジェクト(PowerPointアプリケーションやファイルなど)を格納するための汎用的な型。
  • `String`: 文字列(テキスト)を格納するための型。
  • `Boolean`: True (真) または False (偽) のどちらかを格納するための型。

変数を宣言することで、コードが読みやすくなり、間違いも減らせます。

‘ PowerPointアプリケーションオブジェクトを取得 (現在実行中のPowerPointを指す)
Set objApp = Application

‘ シェルオブジェクトを作成 (ファイルパスの取得などに使用)
Set objShell = CreateObject(“Shell.Application”)

`Set` は、オブジェクト型の変数を、具体的なオブジェクトに結びつける(代入する)命令です。

  • `Application`: 現在実行中のPowerPointアプリケーション自身を指します。
  • `CreateObject(“Shell.Application”)`: Windowsのシェル機能(ファイル操作など)を使うためのオブジェクトを作成します。

‘ デスクトップのパスを取得
desktopPath = objShell.Namespace(0).Self.Path

`objShell.Namespace(0)` はWindowsの「デスクトップ」を指します。`.Self.Path` で、そのデスクトップのフルパス(例: `C:\Users\YourUsername\Desktop`)を取得できます。

‘ バックアップ先フォルダのパスを設定
‘ ※★★重要★★:このパスはご自身の環境に合わせて変更してください!★★
backupFolderPath = Environ(“USERPROFILE”) & “\Documents\PowerPointBackup” ‘ 例: Documentsフォルダ内に作成

ここが、あなたが必ず変更する必要がある部分です!

  • `Environ(“USERPROFILE”)`: 現在ログインしているユーザーのプロファイルフォルダ(例: `C:\Users\YourUsername`)を取得します。
  • `& “\Documents\PowerPointBackup”`: そのプロファイルフォルダの中に、`Documents` フォルダがあり、さらにその中に `PowerPointBackup` というフォルダを作成して、そこに保存するという意味です。
  • 【重要】 実際のパスは、あなたのPCの環境に合わせて変更してください。例えば、`D:\Backup\PPTX` のようにしたい場合は、`backupFolderPath = “D:\Backup\PPTX”` と直接指定します。

‘FileSystemObjectを使うと、フォルダの存在チェックや作成が容易になります
Dim fso As Object
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘ バックアップフォルダが存在しない場合
If Not fso.FolderExists(backupFolderPath) Then
On Error Resume Next ‘ エラーが発生しても処理を続行する
‘ フォルダを作成
fso.CreateFolder backupFolderPath
‘ エラーが発生した場合(権限がないなど)は、メッセージを表示して終了
If Err.Number <> 0 Then
MsgBox “バックアップフォルダを作成できませんでした。” & vbCrLf & _
“パス: ” & backupFolderPath & vbCrLf & _
“権限などを確認してください。”, vbCritical, “エラー”
Exit Sub ‘ マクロを終了
End If
On Error GoTo 0 ‘ エラーハンドリングを元に戻す
MsgBox “バックアップフォルダを作成しました: ” & backupFolderPath, vbInformation, “フォルダ作成完了”
End If

`Scripting.FileSystemObject` は、ファイルやフォルダの操作を専門に行うためのオブジェクトです。

  • `fso.FolderExists(backupFolderPath)`: 指定したパスにフォルダが存在するかどうかを `True`/`False` で返します。
  • `If Not … Then`: 「もし存在しないならば」という意味です。
  • `fso.CreateFolder backupFolderPath`: 指定したパスにフォルダを作成します。
  • `On Error Resume Next` / `On Error GoTo 0`: エラーが発生した場合の処理方法を指定します。`Resume Next` はエラーが発生しても次の行に進みます。`On Error GoTo 0` で通常の(エラー発生時に停止する)処理に戻します。

‘ デスクトップ上のPPTXファイルを検索してバックアップ
foundPPTX = False ‘ 初期化

‘ デスクトップ上の全てのファイルとフォルダをループ処理
For Each item In objShell.Namespace(desktopPath).Items
‘ ファイル名(.Name)が “.pptx” で終わるかチェック
If LCase(item.Name) Like “.pptx” Then
foundPPTX = True ‘ PPTXファイルが見つかったフラグを立てる

‘ ファイル名から拡張子を除いた部分を取得
fileNameWithoutExt = Left(item.Name, InStrRev(item.Name, “.”) – 1)

‘ 現在の日付と時刻を取得し、フォーマットする (YYYYMMDD_HHMMSS形式)
timestamp = Format(Now, “yyyymmdd_hhmmss”)

‘ 新しいファイル名を生成
newFileName = fileNameWithoutExt & “_” & timestamp & “.pptx”

‘ 新しいファイルのフルパスを構築
newFilePath = backupFolderPath & “\” & newFileName

‘ PowerPointのオブジェクトを使わず、OSの機能でファイルをコピーします。
fso.CopyFile originalFilePath, newFilePath, True ‘ Trueは上書きを許可

ここがマクロの心臓部です!

  • `For Each item In objShell.Namespace(desktopPath).Items … Next item`: デスクトップ上の全てのファイルやフォルダを一つずつ取り出して、`item` という変数に格納し、ループ処理を行います。
  • `If LCase(item.Name) Like “.pptx” Then`: `item.Name` はファイル名です。`LCase()` で小文字に変換し、`Like “.pptx”` で「`.pptx`」で終わるかどうかを判定します。これで.pptxファイルだけを対象にできます。
  • `fileNameWithoutExt = Left(item.Name, InStrRev(item.Name, “.”) – 1)`: ファイル名から拡張子(`.pptx`)を取り除く処理です。`InStrRev` は文字列の末尾から指定した文字を探し、その位置を返します。`.` の位置が分かれば、その手前までの文字列(ファイル名本体)を取り出せます。
  • `timestamp = Format(Now, “yyyymmdd_hhmmss”)`: `Now` は現在の日付と時刻を取得します。`Format` 関数で `”yyyymmdd_hhmmss”` という形式(例: `20231027_173059`)に整形しています。
  • `newFileName = fileNameWithoutExt & “_” & timestamp & “.pptx”`: ファイル名本体、アンダースコア、日付文字列、そして拡張子 `.pptx` を結合して、新しいファイル名を生成します。
  • `newFilePath = backupFolderPath & “\” & newFileName`: バックアップ先フォルダのパスと、生成した新しいファイル名を結合して、保存先のフルパスを作成します。
  • `fso.CopyFile originalFilePath, newFilePath, True`: ここが今回のバックアップの肝です! `FileSystemObject` の `CopyFile` メソッドを使って、元のファイルを新しいパスにコピーします。`True` は、もし同名のファイルが既にバックアップフォルダに存在した場合に上書きすることを意味します。この方法なら、PowerPointでファイルを開く必要がなく、高速かつ安全にバックアップできます。

‘ エラーが発生した場合の処理
If Err.Number <> 0 Then
MsgBox “ファイルのバックアップ中にエラーが発生しました: ” & item.Name & vbCrLf & _
“エラー番号: ” & Err.Number & vbCrLf & _
“エラー内容: ” & Err.Description, vbCritical, “バックアップエラー”
End If
On Error GoTo 0 ‘ エラーハンドリングを元に戻す

もし `fso.CopyFile` の実行中にエラーが発生したら、エラー番号と内容をメッセージボックスで表示します。

‘————————————————————————–
‘ 処理終了メッセージ
‘————————————————————————–
If foundPPTX Then
MsgBox “デスクトップ上のPPTXファイルのバックアップが完了しました!” & vbCrLf & _
“バックアップ先: ” & backupFolderPath, vbInformation, “バックアップ完了”
Else
MsgBox “デスクトップ上にPPTXファイルは見つかりませんでした。”, vbInformation, “処理完了”
End If

最後に、PPTXファイルが見つかったかどうかで、完了メッセージを変えて表示します。`vbCrLf` は改行コードです。

‘————————————————————————–
‘ オブジェクトの解放
‘————————————————————————–
Set fso = Nothing
Set objShell = Nothing
Set objApp = Nothing

使わなくなったオブジェクトは、`Set 変数名 = Nothing` で解放するのが良い習慣です。これにより、メモリの無駄遣いを防ぎます。

陥りやすいエラーと、その対処法

  • エラー1: バックアップフォルダが作成できない
  • 原因: 指定したパスに書き込み権限がない、パスが間違っている。
  • 対処法: `backupFolderPath` のパスを、書き込み可能な場所(例: `Documents` フォルダ内など)に変更するか、フルパスを正確に記述してください。
  • エラー2: ファイルのコピー中にエラーが出る
  • 原因: 該当のPPTXファイルがPowerPointで開かれていて、ロックされている。
  • 対処法: バックアップしたいPPTXファイルは、マクロ実行前に全て閉じてください。
  • エラー3: マクロが動かない、VBAエディタが表示されない
  • 原因: 「開発」タブが表示されていない、VBAエディタのモジュールに正しく貼り付けられていない。
  • 対処法: 「開発」タブの表示設定を確認し、コードを正確にコピー&ペーストしてください。

マクロの実行方法

コードを貼り付けたら、いよいよ実行です!

1. VBAエディタを開く: `Alt` + `F11`
2. マクロ一覧を表示: 「表示」タブ → 「イミディエイトウィンドウ」(または `Ctrl` + `G`)

  • ※あるいは、コードウィンドウのどこかにカーソルを置いて、`F5` キーを押しても実行できます。

3. マクロを実行:

  • VBAエディタのツールバーにある「▶」ボタン(実行ボタン)をクリックする。
  • または、イミディエイトウィンドウに `BackupPPTXWithTimestamp` と入力して `Enter` キーを押す。
  • または、`Alt` + `F8` でマクロダイアログを開き、`BackupPPTXWithTimestamp` を選択して「実行」ボタンをクリックする。

デスクトップ上のPPTXファイルが、指定したバックアップフォルダに日付付きで保存されていくはずです!

さらに便利に! ~ショートカットキーで実行~

毎回VBAエディタを開いて実行するのは少し手間ですよね。そこで、よく使うマクロにショートカットキーを割り当てておくと、さらに便利になります。

1. PowerPointで `Alt` + `F8` を押して、「マクロ」ダイアログを表示します。
2. 実行したいマクロ名 (`BackupPPTXWithTimestamp`) を選択します。
3. 「オプション」ボタンをクリックします。
4. 「ショートカットキー」の欄に、好きなキー(例: `Ctrl` + `Shift` + `B` など、他のショートカットと重複しないもの)を入力します。
5. 「OK」をクリックし、マクロダイアログも「OK」で閉じます。

これで、指定したショートカットキーを押すだけで、いつでもこのバックアップマクロを実行できるようになります!

まとめ:PowerPoint VBAで、あなたの作業を「自動化」の波に乗せよう!

お疲れ様でした!今回は、デスクトップ上のPPTXファイルを自動で日付バックアップするVBAマクロについて、コードの解説から実行方法、さらにはショートカットキーの設定まで、じっくりとご紹介しました。

このマクロは、PowerPoint VBAの基本的な要素(オブジェクト、変数、ループ処理、ファイル操作)を実践的に学ぶのに最適です。マクロの記録だけでは得られない「コードを自分で書く」という体験は、あなたのVBAスキルを大きく飛躍させるはずです。

「ここをクリアすれば、PowerPoint VBAの基本はバッチリですよ」と、自信を持って言える内容です。

ぜひ、このマクロをあなたの日常業務に取り入れて、上書き事故の恐怖から解放され、より快適で効率的なPowerPoint作業を実現してくださいね!

もし、このマクロをさらに発展させたい、こんな機能を追加したい、といったご要望があれば、ぜひコメントなどで教えてください。あなたの「自動化」への挑戦を、これからも応援しています!

タイトルとURLをコピーしました