如何基于表单提交创建事件?
How to createEvent based on form submit?
我在主要编码支持论坛上多次看到一个问题,如何根据表单提交将事件添加到日历。尽管如此,我还是很挣扎。
时间戳形式
日期
名字
开始时间
结束时间
描述
25/05/2021 13:05:05
=to_date(A2)
开会
15:05:00
15:42:00
花园
活动总是在表单提交之日举行。以下代码似乎没有任何结果。
var spreadsheet = SpreadsheetApp.getActive().getSheetByName("Form1");
var data = spreadsheet.getRange("A2:F").getValues();
function toCal() {
let [, date, name, startTime, endTime, descr] = data;
var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
calen.createEvent(name,
new Date(date + startTime),
new Date(date + endTime),
{location: "Brandenburger Tor", description: descr});
}
}
事件只需要基于上次提交,所以我可以将其放在“表单提交”触发器上。
我认为问题出在日期时间上。但是,如果我只是输入 new Date("25/05/2021 15:05:00")
而不是当前的内容,我的日历中也不会出现任何内容。
如有任何帮助,我们将不胜感激。
格式 B2 为 2021-05-25
并尝试:
function toCal() {
var spreadsheet = SpreadsheetApp.getActive().getSheetByName("Form1");
var data = spreadsheet.getRange("A2:F2").getDisplayValues();
start = new Date(data[0][1] + " " + data[0][3]);
end = new Date(data[0][1] + " " + data[0][4]);
var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
calen.createEvent(data[0][2], start, end,
{location: "Brandenburger Tor", description: data[0][5]});
}
我在主要编码支持论坛上多次看到一个问题,如何根据表单提交将事件添加到日历。尽管如此,我还是很挣扎。
时间戳形式 | 日期 | 名字 | 开始时间 | 结束时间 | 描述 |
---|---|---|---|---|---|
25/05/2021 13:05:05 | =to_date(A2) | 开会 | 15:05:00 | 15:42:00 | 花园 |
活动总是在表单提交之日举行。以下代码似乎没有任何结果。
var spreadsheet = SpreadsheetApp.getActive().getSheetByName("Form1");
var data = spreadsheet.getRange("A2:F").getValues();
function toCal() {
let [, date, name, startTime, endTime, descr] = data;
var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
calen.createEvent(name,
new Date(date + startTime),
new Date(date + endTime),
{location: "Brandenburger Tor", description: descr});
}
}
事件只需要基于上次提交,所以我可以将其放在“表单提交”触发器上。
我认为问题出在日期时间上。但是,如果我只是输入 new Date("25/05/2021 15:05:00")
而不是当前的内容,我的日历中也不会出现任何内容。
如有任何帮助,我们将不胜感激。
格式 B2 为 2021-05-25
并尝试:
function toCal() {
var spreadsheet = SpreadsheetApp.getActive().getSheetByName("Form1");
var data = spreadsheet.getRange("A2:F2").getDisplayValues();
start = new Date(data[0][1] + " " + data[0][3]);
end = new Date(data[0][1] + " " + data[0][4]);
var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
calen.createEvent(data[0][2], start, end,
{location: "Brandenburger Tor", description: data[0][5]});
}