Skip to content

Instantly share code, notes, and snippets.

@mitu217
Created February 12, 2016 03:23
Show Gist options
  • Save mitu217/2a7a235c0e4526507160 to your computer and use it in GitHub Desktop.
Save mitu217/2a7a235c0e4526507160 to your computer and use it in GitHub Desktop.
function onSubmitForm(e){
var res = e.response;
var FORM_DATA = res.getItemResponses();
var item = FORM_DATA[0].getResponse(); // 支出項目
var summary = FORM_DATA[1].getResponse() // 支出概要
var money = FORM_DATA[2].getResponse(); // 支出金額
var expenseDate; // 支出日時
var strExpenseDate = FORM_DATA[3].getResponse();
if (strExpenseDate == '') {
var date = new Date();
expenseDate = new Array(date.getFullYear(), date.getMonth() + 1, date.getDate());
} else {
expenseDate = strExpenseDate.split("-");
}
var targetSpreadSheet; // 出力するスプレッドシート
var sheetAcountBooks = DriveApp.searchFiles('mimeType = "' + MimeType.GOOGLE_SHEETS + '" and title = "' + expenseDate[0] + '年家計簿"');
if (sheetAcountBooks.hasNext()) {
targetSpreadSheet = SpreadsheetApp.open(sheetAcountBooks.next());
} else {
var baseAccountBooks = DriveApp.searchFiles('mimeType = "' + MimeType.GOOGLE_SHEETS + '" and title = "家計簿"')
if (baseAccountBooks.hasNext()) {
var baseAccountBooks = baseAccountBooks.next();
baseAccountBooks.makeCopy('' + expenseDate[0] + '年家計簿');
sheetAcountBooks = DriveApp.searchFiles('mimeType = "' + MimeType.GOOGLE_SHEETS + '" and title = "' + expenseDate[0] + '年家計簿"');
targetSpreadSheet = SpreadsheetApp.open(sheetAcountBooks.next());
} else {
Logger.log("not found base AccountBooks SpreadSheet...");
}
}
var targetSheet = targetSpreadSheet.getSheets()[expenseDate[1]]; // 出力するシート
var targetCell; // 出力するセルの列
var lastRow = targetSheet.getLastRow();
for(; lastRow >= 0; lastRow--){
if(targetSheet.getRange(lastRow, 8).getValue() != ''){
lastRow++;
break;
}
}
// 出力
targetSheet.getRange(lastRow, 8).setValue(expenseDate[1] + '/' + expenseDate[2]);
targetSheet.getRange(lastRow, 9).setValue(item);
targetSheet.getRange(lastRow, 10).setValue(summary);
targetSheet.getRange(lastRow, 11).setValue(money);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment