teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

sheet\.getRange\.bind\(sheet\)

2017/01/31 04:55

投稿

think49
think49

スコア18194

answer CHANGED
@@ -9,15 +9,17 @@
9
9
  var month = argumentsLength > 3 ? arguments[2] : today.getMonth();
10
10
  var day = argumentsLength > 4 ? arguments[3] : today.getDate();
11
11
  var sheet = SpreadsheetApp.getActiveSheet();
12
+ var getRange = sheet.getRange.bind(sheet);
12
13
  var objCalendar = CalendarApp.getCalendarById(calendarId);
13
14
 
14
- for (var i = 2, len = sheet.getLastRow() + 1; i < len; i++) {
15
+ for (var i = 2, len = sheet.getLastRow() + 1, sheetDate1, sheetDate2; i < len; i++) {
15
-
16
- if (sheet.getRange(i, 3).getValue() != ""){
16
+ if (getRange(i, 3).getValue() != ""){
17
+ sheetDate1 = getRange(i, 1).getValue();
18
+ sheetDate2 = getRange(i, 2).getValue();
17
- objCalendar.createEvent(sheet.getRange(i, 6).getValue(),
19
+ objCalendar.createEvent(getRange(i, 6).getValue(),
18
- new Date( year, month, day , sheet.getRange(i, 1).getValue().getHours(), sheet.getRange(i, 1).getValue().getMinutes() ),
20
+ new Date( year, month, day , sheetDate1.getHours(), sheetDate1.getMinutes() ),
19
- new Date( year, month, day , sheet.getRange(i, 2).getValue().getHours(), sheet.getRange(i, 2).getValue().getMinutes() ),
21
+ new Date( year, month, day , sheetDate2.getHours(), sheetDate2.getMinutes() ),
20
- {description: sheet.getRange(i, 4).getValue()}
22
+ {description: getRange(i, 4).getValue()}
21
23
  );
22
24
  }
23
25
  }

1

三項演算子のSyntaxError修正

2017/01/31 04:55

投稿

think49
think49

スコア18194

answer CHANGED
@@ -5,15 +5,15 @@
5
5
  function myCalendar (calendarId /* [, year, month, day] */) {
6
6
  var today = new Date();
7
7
  var argumentsLength = arguments.length;
8
- var year = argumentsLength > 2 arguments[1] : today.getFullYear();
8
+ var year = argumentsLength > 2 ? arguments[1] : today.getFullYear();
9
- var month = argumentsLength > 3 arguments[2] : today.getMonth();
9
+ var month = argumentsLength > 3 ? arguments[2] : today.getMonth();
10
- var day = argumentsLength > 4 arguments[3] : today.getDate();
10
+ var day = argumentsLength > 4 ? arguments[3] : today.getDate();
11
11
  var sheet = SpreadsheetApp.getActiveSheet();
12
12
  var objCalendar = CalendarApp.getCalendarById(calendarId);
13
13
 
14
14
  for (var i = 2, len = sheet.getLastRow() + 1; i < len; i++) {
15
15
 
16
- if (sheet.getRange(i, 3).getValue() !== '') {
16
+ if (sheet.getRange(i, 3).getValue() != ""){
17
17
  objCalendar.createEvent(sheet.getRange(i, 6).getValue(),
18
18
  new Date( year, month, day , sheet.getRange(i, 1).getValue().getHours(), sheet.getRange(i, 1).getValue().getMinutes() ),
19
19
  new Date( year, month, day , sheet.getRange(i, 2).getValue().getHours(), sheet.getRange(i, 2).getValue().getMinutes() ),