実現したいこと
google drive の共有フォルダ含む複数フォルダ配下のすべてのcsvファイルを、定期的にスプレッドシートに取り込みたいと考えております。
基本的な処理は下記を参考にしましたが、事例は特定のフォルダ配下の特定のcsvのみ取り込むこととなっており、”共有フォルダ含む複数フォルダ配下のすべてのcsvファイルを取り込む”場合のスクリプトを教えて頂きたいです。
また、取込みが成功したファイルは削除することを検討しております。
参考ページ:https://qiita.com/YusukeKameyama/items/5ae840ec8d4382a215db
該当のソースコード
GAS
1//書き込む対象のSpread Sheetを定義 2var ss = SpreadsheetApp.getActiveSpreadsheet(); 3var sh = ss.getActiveSheet(); 4 5function import() { 6 7 // 対象のCSVファイルが置かれているフォルダ名、ファイル名を定義 8 var folderName = "csv"; 9 var fileName = "売上実績_AA_20190919.csv"; 10 var folders = DriveApp.getFoldersByName(folderName); 11 12 //フォルダとファイルの検索 13 while (folders.hasNext()) { 14 var folder = folders.next(); 15 if (folder.getName() == folderName) { 16 var files = DriveApp.getFilesByName(fileName); 17 while (files.hasNext()) { 18 var file = files.next(); 19 if (file.getName() == fileName) { 20 21 var data = file.getBlob().getDataAsString("UTF-8"); 22 23 var csv = Utilities.parseCsv(data); 24 25 var ALastRow = sh.getLastRow(); 26 27 //CSV書き込み 28 sh.getRange(ALastRow,1,csv.length,csv[0].length).setValues(csv); 29 return; 30 } 31 } 32 } 33 } 34}
補足情報
ファイル名は”売上実績_店舗コード_日付"という規約であり、共有フォルダ毎に店舗コードが異なります。売上実績というファイル名がつけば、すべて取込み対象としたいと考えております。
お手数ですが、`ご指導頂けますと有難く思います。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー