![](/img/trans.png)
[英]Sync dates without calendar web part to Outlook/Google/Desktop Calendars
[英]Trying to have title and dates in google sheets automatically sync up with a Google calendar
我設法得到了一些工作,它將獲取標題和日期並將其放入 Google 日歷,但我必須每次都運行腳本。 但是,當我更改事件的日期(日期總是在變化)時,它只會制作另一個事件並保留舊事件。
我只想有一個帶有標題和日期的谷歌表,以便將事情發生的時間同步到谷歌日歷,當日期發生變化時,它會修改一個事件而不制作新的事件。 理想情況下,也不必每次都運行腳本。
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = "test calendar";
var eventCal = CalendarApp.getCalendarById(calendarId);
var schedule = spreadsheet.getRange("A4:B6").getValues();
for (x=0; x<schedule.length; x++) {
var shifts = schedule[x];
var Eventnames = shifts[0];
var DateofEvent = shifts[1];
eventCal.createAllDayEvent(Eventnames, DateofEvent);
}
}
以下是完成此操作的步驟
一個 | 乙 | C |
---|---|---|
事件名稱1 | 事件日期1 | 事件 ID1 |
事件名稱2 | 事件日期2 | 事件 ID2 |
function myFunction() {
var calendarEventIdColumn = 3 // put the number of your column choice here (C = 3)
var dataStartRow = 4 // you started at A4 in your example, so I am starting with row 4
var calendarEventIds = []; // this will store a list of calendar event IDs
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = "test calendar";
var eventCal = CalendarApp.getCalendarById(calendarId);
var schedule = spreadsheet.getRange("A4:C6").getValues(); // added column C to include the calendar event ids
for (var x=0; x < schedule.length; x++) {
var shifts = schedule[x];
var Eventnames = shifts[0];
var DateofEvent = shifts[1];
var eventId = shifts[2];
var event;
// if the event already exists, edit it. Otherwise create a new one.
if (eventId !== '') {
event = eventCal.getEventById(eventId);
event.setTitle(Eventnames);
event.setAllDayDate(DateofEvent);
} else {
event = eventCal.createAllDayEvent(Eventnames, DateofEvent);
}
calendarEventIds.push([event.getId()]); // add the event id to list of event ids
}
// save the new calendar event IDs under the calendarEventIdColumn
spreadsheet.getRange(dataStartRow, calendarEventIdColumn, calendarEventIds.length, 1).setValues(calendarEventIds);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.