忽略 Google 应用程序脚本函数中的空单元格
Ignoring empty cells in Google app scripts function
我编写此函数是为了将电子表格条目添加到我的日历中。如您所见,现在我获取 B5:B30 范围内的所有条目。如果我没有填写此范围内的所有单元格,我会收到错误消息,因为我的参数有误。
现在,如果我只能从该范围中获取非空的值,我想一切都会奏效。有没有办法从我的范围中删除空单元格,或者只执行 getValue()
并将其保存在我的注册定义中(如果有值)?
function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarID = spreadsheet.getRange("C3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarID);
var lr = spreadsheet.getLastRow()
var signups = spreadsheet.getRange("B5:D30").getValues()
for (x=0; x<signups.length;x++)
{
var shift = signups[x];
var startTime = shift[0];
var endTime = shift[1];
var volunteer= shift[2];
eventCal.createEvent(volunteer, startTime, endTime);
}
}
试试这个:
if (volunteer && startTime && endTime) {
eventCal.createEvent(volunteer, startTime, endTime);
}
学习 Google Apps 脚本的一些最佳资源包括 Beginner's Guide, the New Apps Script Editor guide, the Fundamentals of Apps Script with Google Sheets codelab, the Extending Google Sheets page, javascript.info and Mozilla Developer Network。
谢谢!这有效:
function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarID = spreadsheet.getRange("C3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarID);
var lr = spreadsheet.getLastRow()
var signups = spreadsheet.getRange("B5:D30").getValues()
for (x=0; x<signups.length;x++)
{
var shift = signups[x];
var startTime = shift[0];
var endTime = shift[1];
var volunteer= shift[2];
if (volunteer && startTime && endTime){
eventCal.createEvent(volunteer, startTime, endTime);
}
}}
我编写此函数是为了将电子表格条目添加到我的日历中。如您所见,现在我获取 B5:B30 范围内的所有条目。如果我没有填写此范围内的所有单元格,我会收到错误消息,因为我的参数有误。
现在,如果我只能从该范围中获取非空的值,我想一切都会奏效。有没有办法从我的范围中删除空单元格,或者只执行 getValue()
并将其保存在我的注册定义中(如果有值)?
function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarID = spreadsheet.getRange("C3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarID);
var lr = spreadsheet.getLastRow()
var signups = spreadsheet.getRange("B5:D30").getValues()
for (x=0; x<signups.length;x++)
{
var shift = signups[x];
var startTime = shift[0];
var endTime = shift[1];
var volunteer= shift[2];
eventCal.createEvent(volunteer, startTime, endTime);
}
}
试试这个:
if (volunteer && startTime && endTime) {
eventCal.createEvent(volunteer, startTime, endTime);
}
学习 Google Apps 脚本的一些最佳资源包括 Beginner's Guide, the New Apps Script Editor guide, the Fundamentals of Apps Script with Google Sheets codelab, the Extending Google Sheets page, javascript.info and Mozilla Developer Network。
谢谢!这有效:
function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarID = spreadsheet.getRange("C3").getValue();
var eventCal = CalendarApp.getCalendarById(calendarID);
var lr = spreadsheet.getLastRow()
var signups = spreadsheet.getRange("B5:D30").getValues()
for (x=0; x<signups.length;x++)
{
var shift = signups[x];
var startTime = shift[0];
var endTime = shift[1];
var volunteer= shift[2];
if (volunteer && startTime && endTime){
eventCal.createEvent(volunteer, startTime, endTime);
}
}}