突然,一个工作脚本就不再工作了。第一个 .setTitle 上有错误,但它无论如何都正确设置了标题 - 但它随后停止了脚本,因此第二个 .setTitle 未设置。
questionMonTitle.setTitle(mondaydate);
questionWedTitle.setTitle(weddaydate);
“在对象 Formapp.Item 上获取方法或属性 setTitle 时出现意外错误”。
任何想法都非常感激
各种脚本重写 - 但问题是一样的
我在下面列出了不影响此问题的行的函数:
function updateFormDEVELOPMENT(){
var questionMon = 1879350946;
var questionWed = 438313919;
var form = FormApp.openById("1UeA5csiF76sJALNBjoaL0qq7c45OJP0vv8xVzgP1KwY"); // Auto weekly DEVELOPMENT signup form THIS IS A PRACTICE Form -
var ss = SpreadsheetApp.getActive(); //(This is a PRACTICE Response sheet)
var sheet = ss.getSheetByName("FormResponses");
var AutoWeeklySignup = ss.getSheetByName ("AutoWeeklySignup");
var mondaydate = sheet.getRange("L1").getValue(); //Form question date, grabbed here from Sheet formula. Is also in Q4
var weddaydate = sheet.getRange("M1").getValue(); //also in Q5
var questionMonTitle = form.getItemById(questionMon);
var questionWedTitle = form.getItemById(questionWed);
var formtitle = `${sheet.getRange("N1").getValue()}\n**${dayswarning}**`; // triggers Friday 5PM, want warning on Friday turnover
sheet.getRange("H1").setValue('={"Mon Date"; ARRAYFORMULA(IF(A2:A<>"", E1, ""))}');
sheet.getRange("I1").setValue('={"Wed Date"; ARRAYFORMULA(IF(A2:A<>"", F1, ""))}');
sheet.getRange("J1").setValue('={"Mon y/n"; ArrayFormula( E2:E)}');
sheet.getRange("K1").setValue('={"Wed y/n"; ArrayFormula( F2:F)}');
sheet.getRange("L1").setValue('="Mon " & text(Today()+ (9-weekday(today() ))+7, "MMM d") &" -1:00 PM" ');
sheet.getRange("M1").setValue('="Wed " & text(Today()+ (11-weekday(today() )) +7, "MMM d" ) & "- 6:30PM" ');
sheet.getRange("N1").setValue('="Signup: Mon " & text( Today()+ (9-weekday(today() )) +7, "MMM d") & " & Wed " & text (Today() + (11-weekday(today() ))+7,"MMM d")');
form.setTitle(formtitle);
questionMonTitle.setTitle(mondaydate);
questionWedTitle.setTitle(weddaydate);
}
getItemById
返回一个 Interface Item 实例。这种对象不能直接修改。使用 asTextItem() 获取 textItem()
,然后使用 setTitle(title)
。
function myFunction(){
const questionMon = 1879350946;
const form = FormApp.openById(/** Put here your form id */);
const questionMonTitle = form.getItemById(questionMon).asTextItem();
questionMonTitle.setTitle("New title");
}