Google Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveにバックアップ保存する

Google Chrome

3月も終わり、あっという間に春が来ますねー!

ということで、今回は久しぶりにGoogl Apps Scriptネタを書いてみたいと思います!

内容は「Google Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveに保存する」というものです!

それではいってみましょう!

いきなり結論・Google Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveに保存するコード

それではいきなり結論です!

Google Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveに保存するコードをご紹介させていただきます!

function Backup() {
  
  const targetSpreadSheetIdList = ['','','']; // ここにバックアップをとりたいスプレッドシートのidを入れる
  const backupFolderId = ''; // ここにバックアップデータを溜めたいフォルダのIDを入れる

  targetSpreadSheetIdList.forEach(function(sheetId){
    try{
      const targetBackupSpreadSheet = DriveApp.getFileById(sheetId); //バックアップをとりたいスプレッドシート
      const backupFolder = DriveApp.getFolderById(backupFolderId); // バックアップフォルダ

      const backupName = targetBackupSpreadSheet.getName() + '-' + Utilities.formatDate(new Date(), 'JST', 'yyyy-MM-dd');
      targetBackupSpreadSheet.makeCopy(backupName, backupFolder);
    }catch(e){
      Logger.log(e);
    }
  });
}

どういう方法をとるかによってコードにも変更は生じると思います!

今回の場合は

  • 複数のスプレッドシートをバックアップ対象にすることができる。
  • バックアップ先のフォルダは1つとする
  • バックアップ時にはファイル名+日付をファイル名とする

以上の条件に基づいたコードになります!

今回のGoogle Apps Scriptコードの基本的な使い方とポイント

今回のGoogle Apps Scriptコードの基本的な使い方とポイントをいくつか列挙します!

const targetSpreadSheetIdList = ['','',''];

この部分で配列というものを使ってカンマ区切りでスプレッドシートのidを保存してください!

バックアップしたいスプレッドシートのid

バックアップしたいスプレッドシートのidは上記画像を参照してください!

バックアップしたいスプレッドシートが1つだけであれば、カンマで区切って2つ目以降を入力する必要はありません!

const backupFolderId = ''; // ここにバックアップデータを溜めたいフォルダのIDを入れる

上記の部分には、バックアップ をしたいGoogel Driveのフォルダのidを指定してください!

バックアップ先のフォルダのidが書かれている場所

バックアップ先のフォルダのid番号の確認方法は上記の通りです!

トリガーの設定も忘れずにしておきましょう!

Google Apps Scriptのトリガー設定方法
Google Apps Scriptのトリガー設定方法

上記にトリガーの設定方法を掲載しています!

上記の画像のサンプルでは1時間に1回タイマーを設定する方法を掲載していますが、1日1回タイマー設定をしていきたい場合は「1日おき」に「何時から何時まで(1時間単位)」の時間帯にプログラムが自動で動くようにすればいいのかを設定すればOKです!

まとめ

ということで、今回はGoogle Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveに保存する方法についてご紹介させていただきました!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする