こういうスプレッドシートを
CSVファイルにしてGoogleドライブに保存する
(保存したファイルを開いた画面↓)
コード.gsの
SS_URL:保存したいシートがあるスプレッドシートのURL
FOLDER_ID:保存先のフォルダのID
FILE_NAME:保存したいファイル名
は任意で設定して下さい
コード.gsfunction save_to_drive_csv() { var data = get_values(); create_file(data); } function get_values() { var ss_url = "SS_URL"; var ss = SpreadsheetApp.openByUrl(ss_url); var sheet = ss.getSheets()[0]; var last_row = sheet.getLastRow(); var values = sheet.getRange("A1:B" + last_row).getValues(); var data = ""; for(var i = 0; i < values.length; i++){ data += values[i] + "\r\n"; } return data; } function create_file(data) { var content_type = "text/csv"; var file_name = "FILE_NAME"; var blob = Utilities.newBlob("", content_type, file_name) var file = blob.setDataFromString(data, "utf-8"); var drive = DriveApp.getFolderById("FOLDER_ID"); drive.createFile(file); } | 意訳この機能がやること get_values()を実行して 返ってきた値をcreate_fileに渡す この機能がやること スプレッドシートのURLを指定して 開いて 先頭のシートを取得して データが入っている最終行を取得して A1:Bの範囲のデータを取得して 行ごとのデータを入れる変数を用意して dataという入れ物を用意して 行ごとのデータを改行を付けてつなげる 行毎に改行が入ったdataを返す この機能がやること content_typeを設定する ファイル名を設定する Blob objectを作成して dataと文字コードを渡し 指定したフォルダに ファイルを作成する |
参考
Class Utilities