定时脚本突然出现错误 - .setTitle 有效但停止脚本

问题描述 投票:0回答:1

突然,一个工作脚本就不再工作了。第一个 .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);
   }
google-sheets google-apps-script google-forms
1个回答
0
投票

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");
}
© www.soinside.com 2019 - 2024. All rights reserved.