google-apps-script - 谷歌表格到谷歌日历应用脚本帮助/审查
问题描述
我正在尝试创建一个脚本,它从我的 Google 工作表(列、、、、和)中获取日期H
,并使用I
自定义标题将它们发布到我的 Google 日历中。J
K
AC
这是一种设置方式,如果我更改工作表中的日期,它应该删除以前创建的事件并添加新事件。
我改编了GimelG 在此处底部的答案中的代码。
到目前为止,使用下面的脚本,我开始获取 column 中的日期I
。但我也希望在尝试完成所有其他日期列方面得到帮助。
我也试图让事件的自定义命名如下:
[项目代码 - E 列] + [文档类型 - G 列] + [取自列名,因此对于列 I,它将是“文件日期”]。
我感谢所有和任何帮助我让它工作!
现在我得到一个createAllDayEvent
错误。
找不到方法 createAllDayEvent(string,string,object)。(第 30 行,文件“addToCal 的副本”)
这是我的谷歌表。
以下是我正在尝试修复和改进的脚本:
function addToCal() {
var ss = SpreadsheetApp.getActiveSpreadsheet(),
sheet = ss.getActiveSheet(),
range = sheet.getActiveRange(),
row = range.getRow(),
data = sheet.getRange(row, 1, 1, 40).getValues(),
date = data[0][8],
today = new Date(),
startDate = new Date(today.setMonth(today.getMonth()-1)),
endDate = new Date(today.setMonth(today.getMonth()+6)),
calId = 'example@example.com',
cal = CalendarApp.getCalendarById(calId),
events = cal.getEvents(startDate, endDate),
titles = [];
for (var i = 0, len = events.length; i < len; i++)
titles.push(events[i].getTitle());
var order = (data[0][1] + ' - ' + data[0][4] + ' - ' +data[0][6] + ' to ' + data[0][2]),
index = titles.indexOf(order),
ok = 1;
if (index > -1)
{
var eventDate = events[index].getAllDayStartDate();
if (date =='') return events[index].deleteEvent();
if (eventDate.getTime() == date.getTime()) var ok = 0;
else events[index].deleteEvent();
}
if (ok)
cal.createAllDayEvent(order, date, {location: data[0][2]}).removeAllReminders();
}
解决方案
推荐阅读
- android - 警报未显示通知
- python - 循环错误以在 Python 中抓取页面
- excel - Excel VBA 加载图片和暂停代码 - 暂停
- powershell - 无法将证书导入 Keyvault
- django - 使用扩展默认用户模型和 API 类的 CustomUserModel 修改来自 Django REST API 的响应
- xcode - fastlane 创建的 .cer 和 .mobileprovision 文件是否应该存储在 git 中?
- javascript - angular6中的ngClass和[ngClass]有什么区别
- java - BufferedWriter 和用户在 JTextArea 上输入的打印名称和持续时间
- angular - 离子打印http响应
- python-3.x - 使用 Python 和内存映射在二进制文件中查找位模式