2016-05-18 9 views
0
function onOpen() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var calendarName = "CALENDAR"; 
    var calTimeZone = CalendarApp.openByName(calendarName).getTimeZone(); 
    var menuEntries = [ {name: "Update Calendar", functionName: "cal1"} ]; 
    ss.addMenu("Calendar", menuEntries); 
    ss.setSpreadsheetTimeZone(calTimeZone); 
} 

function cal1() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var dataSheet = ss.getSheetByName("Sheet1"); 
    var calendarName = "CALENDAR"; 
    var calTimeZone = CalendarApp.openByName(calendarName).getTimeZone(); 
    var startRow = 3; 
    var numRows = 100; 
    var dataRange = dataSheet.getRange(startRow, 1, numRows, 26); 
    var data = dataRange.getValues(); 
    var cal = CalendarApp.getCalendarsByName("CALENDAR")[0]; 

    for (i in data) { 
     var row = data[i]; 
     if (row[3] == "Add") { 
      var title = row[24]; // Column with Title 
      var desc = row[21];  // Column with Description 
      var startdate = row[12]; //Column with Date 
      var enddate = row[14]; //Column with Location 
      cal.createEvent(title, startdate, enddate); 
     } 
    } 
} 

これは、私のスプレッドシートを見て、カラム3が「追加」の場合はカレンダーに追加する簡単なスクリプトです。コードはエラーなく実行されますが、カレンダーをチェックすると何もありません。私はここで何か間違っていますか?Google Script:エラーなしでカレンダーイベントを作成するスクリプト

答えて

1

ロガーを確認した後、インデックス作成が0(列C =行[2]、行[3]ではなく)から始まることに気付きました。それは愚かな間違いで、私はこの質問を削除したいのと同じくらい、私は誰かが同じことをする場合には、これをそこに置くことが良いと思った。

関連する問題