Excel VBAを活用したWordドキュメントの自動バックアップスケジュール作成方法

この記事では、Excel VBAを使用してWordのドキュメントの自動バックアップをスケジュールする方法について解説します。コード例やその詳細な解説、さらに応用例も紹介しますので、効率的な文書管理の実践に役立ててください。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

はじめに

Wordのドキュメントはビジネスや学習の場面で頻繁に使用されるため、データの紛失や破損がないようバックアップをとることが重要です。VBAを使用すると、このバックアップ作業を自動化し、効率的に管理することができます。

VBAを使用した自動バックアップの基本コード

以下のコードは、Wordのドキュメントを指定した場所にバックアップとしてコピーする基本的なものです。


Sub BackupWordDocument()
    Dim OriginalPath As String
    Dim BackupPath As String
    
    OriginalPath = "C:\path\to\your\original\document.docx"
    BackupPath = "C:\path\to\your\backup\folder\document_backup.docx"
    
    FileCopy OriginalPath, BackupPath
End Sub

このコードでは、`OriginalPath`に元のWordドキュメントのパス、`BackupPath`にバックアップを保存するパスを指定しています。`FileCopy`関数を使用して、ドキュメントを指定した場所にコピーします。

応用例

応用例1:複数のドキュメントのバックアップ

複数のドキュメントを一度にバックアップする方法を紹介します。


Sub BackupMultipleDocuments()
    Dim DocumentsList As Variant
    Dim BackupFolder As String
    Dim i As Integer

    DocumentsList = Array("C:\path\to\document1.docx", "C:\path\to\document2.docx")
    BackupFolder = "C:\path\to\backup\folder\"

    For i = LBound(DocumentsList) To UBound(DocumentsList)
        FileCopy DocumentsList(i), BackupFolder & "backup_" & i & ".docx"
    Next i
End Sub

応用例2:日付ごとのバックアップ

日付ごとに別々のフォルダにバックアップを保存する方法です。


Sub BackupWithDate()
    Dim OriginalPath As String
    Dim BackupPath As String
    Dim CurrentDate As String

    OriginalPath = "C:\path\to\your\original\document.docx"
    CurrentDate = Format(Now, "YYYYMMDD")
    BackupPath = "C:\path\to\backup\folder\" & CurrentDate & "_document_backup.docx"

    FileCopy OriginalPath, BackupPath
End Sub

応用例3:変更があった場合のみバックアップ

ドキュメントの最終変更日を確認し、変更があった場合のみバックアップを取る方法です。


Sub BackupIfModified()
    Dim OriginalPath As String
    Dim BackupPath As String
    Dim LastModified As Date

    OriginalPath = "C:\path\to\your\original\document.docx"
    BackupPath = "C:\path\to\your\backup\folder\document_backup.docx"
    
    LastModified = FileDateTime(OriginalPath)

    If DateDiff("d", LastModified, Now) = 0 Then
        FileCopy OriginalPath, BackupPath
    End If
End Sub

まとめ

Excel VBAを使用すると、Wordのドキュメントのバックアップを効率的に管理することができます。この記事で紹介した基本のコードや応用例を活用し、文書の安全な管理を実現してください。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次