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は上記画像を参照してください!
バックアップしたいスプレッドシートが1つだけであれば、カンマで区切って2つ目以降を入力する必要はありません!
const backupFolderId = ''; // ここにバックアップデータを溜めたいフォルダのIDを入れる
上記の部分には、バックアップ をしたいGoogel Driveのフォルダのidを指定してください!
バックアップ先のフォルダのid番号の確認方法は上記の通りです!
トリガーの設定も忘れずにしておきましょう!
上記にトリガーの設定方法を掲載しています!
上記の画像のサンプルでは1時間に1回タイマーを設定する方法を掲載していますが、1日1回タイマー設定をしていきたい場合は「1日おき」に「何時から何時まで(1時間単位)」の時間帯にプログラムが自動で動くようにすればいいのかを設定すればOKです!
まとめ
ということで、今回はGoogle Apps Scriptで特定のスプレッドシートを自動で1日1回取得しGoogleDriveに保存する方法についてご紹介させていただきました!