Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不是Google应用程序脚本中的函数错误_Javascript_Google Apps Script_Google Docs - Fatal编程技术网

Javascript 不是Google应用程序脚本中的函数错误

Javascript 不是Google应用程序脚本中的函数错误,javascript,google-apps-script,google-docs,Javascript,Google Apps Script,Google Docs,我仍然有以下谷歌应用程序脚本的问题。现在它出现在游骑兵激活线上。运行时,以下错误显示在我的日志中: [20-06-20 08:16:26:262 PDT]类型错误:ranger.activate不是一项功能 在createDocFromRowCode:14:8 这段代码试图做的是在Google工作表中选择一行,并将其转换为数据对象这需要更多的步骤,但我正在对其进行粒度分解,以尝试找到问题所在。一旦发现,我可以合并步骤并减少VAR调用 创建数据对象后,我解析出所需的数据并将其放入GoogleDoc

我仍然有以下谷歌应用程序脚本的问题。现在它出现在游骑兵激活线上。运行时,以下错误显示在我的日志中:

[20-06-20 08:16:26:262 PDT]类型错误:ranger.activate不是一项功能 在createDocFromRowCode:14:8

这段代码试图做的是在Google工作表中选择一行,并将其转换为数据对象这需要更多的步骤,但我正在对其进行粒度分解,以尝试找到问题所在。一旦发现,我可以合并步骤并减少VAR调用

创建数据对象后,我解析出所需的数据并将其放入GoogleDoc模板中

任何能帮助我找出这不是功能错误的根本原因的方法都会对我的心理健康有很大帮助

function createDocFromRow(){
var templateid = "1UjKBk0SyNUlswiWxXm3oCpEg3-RsJCPhTwwnyjif58s"; // Label Copy Doc ID
var FOLDER_NAME = "Label Copy"; // folder name of where to put completed Docs
var FILENAME = "LabelCopy" // To save new files as
// get the data from a ROW selected by Spreadsheet user
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var ranger = sheet.getSelection().getActiveRange;
ranger.activate();
ss.toast(ranger);
var dataArray = ranger.getValues();
// dataArray is my object[][]
var songname = dataArray[0][2];
var songwriters = dataArray[0][3];
var publishers =  dataArray[0][4];
var artist = dataArray[0][6];
var useremail = dataArray[0][7];
// create a new Label Copy Document 
var docid = DocsList.getFileById(templateid).makeCopy().getId();
var doc = DocumentApp.openById(docid);
var body = doc.getActiveSection();
// replace text FROM dataArray into placeholder space
body.replaceText("##SONG NAME##", songname);
body.replaceText("##artist##", artist);
body.replaceText("##user email##", useremail);
body.replaceText("##Timestamp##", Utilities.formatDate(row[1], "GMT", "HH:mm dd/MM/yyyy"));
body.replaceText("##Songwriters##", songwriters);
body.replaceText("##Publishers##", publishers);
//Prepare to close and rename file.
var folder = DocsList.getFolder(FOLDER_NAME);
file.addToFolder(folder);
doc.setName(LABELCOPY+artists)
doc.saveAndClose();
// message Sheets user
ss.toast("Label Copy Document Created");
}
应该是

var ranger=sheet.getSelection.getActiveRange; 游侠激活; 您缺少getActiveRange

解释

是一个返回类实例的函数。函数需要用括号调用,应该是

var ranger=sheet.getSelection.getActiveRange; 游侠激活; 您缺少getActiveRange

解释


是一个返回类实例的函数。需要使用括号

调用一个函数,请考虑添加一个解释,说明为什么添加括号和它意味着什么,因为OP和其他过路用户将受益于一个解释,为什么期望函数实例具有激活方法是错误的假设。虽然我同意答案是对的。请考虑为什么要添加括号和它意味着什么,因为OP和其他过路用户会受益于为什么期望函数实例具有激活方法是错误的解释的解释。虽然我同意答案是正确的。