1. function GetDataFromCSVsInFolder() 目的:インポートデータ取得・Imp_CsvData(配列)に格納。
1.1. 親フォルダ指定 (固定(const)|Import_folder_ID) ※スプシ記載ID取得
1.1.1. nの場合エラー表記「格納フォルダ先が指定されていない」
1.2. 親フォルダ内の年月フォルダ指定 (格納先|Foldername_yyyymm) ※スプシ記載の「対象年月」より取得
1.2.1. nの場合エラー表記「年月が指定されていない」
1.3. imp_CsvData(データ格納)
1.3.1. function getDataFromCSVsInFolder() { // フォルダーのIDを指定 var folderId = "YOUR_FOLDER_ID_HERE"; var folder = DriveApp.getFolderById(folderId); // フォルダー内のCSVファイルを取得 var files = folder.getFilesByType(MimeType.CSV); // 最終的なデータを格納する2次元配列 var Imp_CsvData = []; // フォルダー内の各CSVファイルに対して処理を行う while (files.hasNext()) { var file = files.next(); var csvData = Utilities.parseCsv(file.getBlob().getDataAsString()); // 最初のCSVファイルの場合、項目名を配列に追加 if (Imp_CsvData.length === 0) { Imp_CsvData.push(csvData[0]); } // CSVファイルのデータ部分を配列に追加 for (var i = 1; i < csvData.length; i++) { Imp_CsvData.push(csvData[i]); } } // 取得したデータを確認(デバッグ用) Logger.log(Imp_CsvData); // ここから、取得したデータを処理するためのコードを追加できます return Imp_CsvData; }
2. function Data_molding(データ成型) 結果:Exp_CSV(配列)に格納成型
2.1. var Imp_Row = 1; //Imp_CsvDataの行 var Imp_Com = 2; //Imp_CsvDataの列 var Exp_Row = 1; //Exp_CsvDataの行 var Exp_Com = 2; //Exp_CsvDataの列
2.2. Imp_CsvDataの項目行取込
2.3. //for条件 参照元:Imp_CsvData //社員ID欄<>空欄になるまで繰り返す for (Imp_CsvData(Imp_Row.Imp_Com) <>""; Imp_Row++)
2.3.1. yes
2.3.1.1. //for条件 参照元:Imp_CsvData //社員IDと1つ行下の社員IDが同一) if(Imp_CsvData(Imp_Row,Imp_Com)===imp_CsvData(Imp_Row,Imp_Com+1){
2.3.1.1.1. yes
2.3.1.1.2. no
2.3.2. no
2.3.2.1. end sub