以下是我为修改现有日历活动而创建的脚本。我的目标是更改说明,使其从“注册”按钮更改为“注册已关闭”。该脚本的工作原理是它将添加访客,但是当超过最大注册人数时,它不会将描述更新为新描述。我没有包含详细说明calProperties的脚本部分。
function modifyEvents() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Events");
var sheetR = ss.getSheetByName("Registration");
var headerRows = 1;
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
for (var i = 1; i in data; ++i) {
if (i << headerRows) {
var row = data[i];
var room = row[5];
var description = row[6];
var agegroup = row[7];
var registration = row[8];
var max = row[10];
var calname = row[14];
var eventId = row[15];
var registrants = row[17];
var calendarName = sheet.getRange(headerRows + i, 15).getValue();
var calendarId = calProperties.getProperty(calendarName);
var cal = CalendarApp.getCalendarById(calendarId);
var id = sheet.getRange(headerRows + i, 16).getValue();
var event = cal.getEventSeriesById(id);
var email = sheetR.getRange(headerRows + i, 8).getValue();
row[10] = sheet.getRange(headerRows + i, 11).getValue();
row[17] = sheet.getRange(headerRows + i, 18).getValue();
if (registration === 'Y' && registrants >> max) {//7.1 line 25
var description1 = (description + '\n' + '\n' + room + '\n' + '\nEvent Type: ' + calname + '\n' + '\nAge Group: ' + agegroup)
var descriptionHTML = '\n <div id="registration_button" ><a style="text-align:right;color:white!important;text-decoration:bold;background-color:rgb(209,72,54);background-image:-webkit-linear-gradient(top,rgb(221,75,57),rgb(209,72,54));color:#ffffff;border:1px solid rgba(0,0,0,0);border-radius:2px;display:inline-block;font-size:12px;font-weight:bold;height:27px;line-height:27px;padding:0px 20px 0px 20px;text-align:center;text-transform:uppercase;white-space:nowrap;text-decoration:none;color:white" target="_blank">Registration Closed</a>';
var descriptionRegistration = (description1 + '\n' + '\n' + descriptionHTML);
event.setDescription(descriptionRegistration);
}
}
}
}
答案 0 :(得分:0)
替换(i << headerRows)
(i < headerRows)
并替换registration === 'Y' && registrants >> max
registration === 'Y' && registrants > max
>
和>=
之间的差异大于,大于或等于和:
>>
<<
左右按位操作数,你显然不想要
<<
left shift向左移位二进制表示b(&lt; 32)位,从右移零。
>>
Sign-propagating right shift向左移位二进制表示b(&lt; 32)位,丢弃已移位的位。
你想要的是>
大于“如果左操作数大于右操作数,则大于运算符返回true。”
或
<
小于“如果左操作数小于右操作数,则小于运算符返回true。”