PR

【GAS】スプレッドシートのデータを定期的にバックアップする方法

【GAS】 Google スプレッドシートのデータを定期的にバックアップする方法 GAS
記事内に広告が含まれています。

Googleスプレッドシートで重要なデータを管理している場合には、定期的なバックアップが非常に大切です。

本記事では、Google Apps Script (GAS)を使って簡単にスプレッドシートを定期的にバックアップする方法をご紹介します。

スプレッドシートにスクリプトエディタを追加する方法

Google Apps Script (GAS)を使用してスクリプトを書いていくので、まずはGoogleスプレッドシートからスクリプトエディタを開いて用意していきます。

1.Google スプレッドシートを開く

まずは、Google スプレッドシートを開きます。

Google Chromeを開いて右上に表示されるGoogle アプリのアイコンを左クリックします。

そして、Google アプリ一覧から「スプレッドシート」を選択します。


下の画像のような画面に遷移するので、編集したいスプレッドシートを選択して開きます。

2.スクリプトを開く

メニューバーの「拡張機能」を左クリックし、「Apps Script」を選択します。

「Apps Script」を選択すると、スクリプトエディタが新しいタブで開きます。

Google スプレッドシートで「Apps Script」を開く手順

バックアップスクリプトの作成

スプレッドシートをバックアップするスクリプトを作成します。

このスクリプトを使えば、指定したバックアップフォルダに元のスプレッドシートを複製したバックアップファイルを作成することができます。

1.スクリプトを作成する

まず、新しいタブでスクリプトエディタが開かれたら、以下のスクリプトをコピーして貼り付け、プロジェクトを保存します。

function backupSpreadsheet() {
  // バックアップ元のスプレッドシートを取得
  var sourceSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // バックアップ先のフォルダIDを指定(自分のGoogle DriveのフォルダIDに置き換えてください)
  var backupFolderId = 'YOUR_BACKUP_FOLDER_ID';
  var backupFolder = DriveApp.getFolderById(backupFolderId);
  
  // 現在の日時を取得してファイル名に使用
  var now = new Date();
  var backupFileName = sourceSpreadsheet.getName() + '_Backup_' + now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();
  
  // スプレッドシートをコピーしてバックアップフォルダに保存
  var backupFile = DriveApp.getFileById(sourceSpreadsheet.getId()).makeCopy(backupFileName, backupFolder);
  
  Logger.log('バックアップが作成されました: ' + backupFileName);
}

このスクリプトは以下の手順でバックアップファイルを作成しています:

  1. 現在アクティブなスプレッドシートを取得します。
  2. バックアップ先のフォルダを指定します。
  3. 現在の日付を含むバックアップファイル名を生成します。
  4. makeCopy() メソッドで元のスプレッドシートをコピーし、指定したフォルダに保存します。
2.バックアップ先のフォルダIDを設定する

スクリプト内6行目の var backupFolderId = 'YOUR_BACKUP_FOLDER_ID';YOUR_BACKUP_FOLDER_IDに、バックアップ先のフォルダのIDを指定します。

バックアップ先のフォルダを未作成の場合は、この時点で作成してください。


バックアップ先のフォルダのIDはURLから確認することができます。

バックアップ先のフォルダを開き、URLの「https://drive.google.com/drive/u/0/folders/フォルダID」から、英数字のフォルダIDを確認できます。

3.動作確認

スクリプトエディターのメニューバーで「backupSpreadsheet」が選択されていることを確認し、「実行」ボタンを左クリックします。

「backupSpreadsheet」を選択し、「実行」ボタンを左クリック

初めて実行する際には、スクリプトに対する権限の承認が求められる場合がありますので、承認してください。

「このアプリは Google で確認されていません」と表示された場合は左下の詳細をクリックすると、「無題のプロジェクト(安全ではないページ)に移動」というリンクが表示されます。
このリンクをクリックすると次のページへ遷移できます。

4.実行結果を確認する

スクリプトが正常に実行されると、バックアップ先のフォルダにバックアップファイルが作成されます。

バックアップ先のフォルダにバックアップファイルが作成されていることを確認

続いてバックアップファイルの中身を確認します。

今回はバックアップ元のスプレッドシートに2つシートを作成していたので、バックアップファイルにも2つシートがコピーされていることが確認できます。

下矢印
バックアップ先のスプレッドシートの確認

トリガーの設定

続いて、バックアップを定期的に実行するために、トリガーを設定します。

定期的な実行が必要ない場合は、こちらの設定は不要です。

1.「トリガー」メニューを開く

まず、スクリプトエディタで「トリガー」メニューを開きます。

トリガーボタンをクリック
2.トリガーを追加する

「トリガーを追加」ボタンをクリックして、トリガーを追加します。

「トリガーを追加」ボタンをクリック
3.トリガーを設定する

以下のように、トリガーを設定します。

  • 実行する関数: backupSpreadsheet
  • 実行するデプロイ: Head
  • イベントのソース: 時間主導型
  • 時間ベースのトリガーのタイプ: 任意のタイプ(例: 日付ベースのタイマー
  • 時刻: 任意の時間(例: 午前0時〜1時
  • エラー通知設定: 任意の設定(例: 毎日通知を受け取る
トリガーを設定する
4.保存する

トリガー設定画面の右下の「保存」ボタンを左クリックする。

これにより、指定した日時にスプレッドシートのバックアップが自動的に作成されるようになります。

まとめ

以上の方法で、GASを使ってスプレッドシートの定期的なバックアップを自動化できます。

大切なデータを守るために、ぜひこの方法を活用してみてください!


Google Apps Script(GAS)で特定の文字を含む行の一括削除の自動化に興味がある方は、ぜひこちらもご覧ください!

コメント

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