ReferenceError: activeSheet не определен - PullRequest
0 голосов
/ 20 июня 2020

Я действительно не понимаю, почему я получаю эту ошибку, хотел бы получить какие-либо указания, так как сообщение об ошибке Google не сообщает мне, где происходит ошибка.

Что я пытаюсь сделать здесь Пользователь листа выбирает строку. Затем я превращаю эту строку в массив и разбираю ее. Выбранные проанализированные строки затем вставляются в шаблон Google Do c, который сохраняется под новым именем.

У меня есть права редактирования для обоих документов.

function onOpen() {
var menuEntries = [ {name: "Create Label Copy From Row", functionName: "createDocFromRow"}];
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.addMenu("LabelCopy", menuEntries);
}
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"
  
// get the data from an individual user
  var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var dataArray = activeSheet.getSelection().getValues;
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 array 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");
}

1 Ответ

1 голос
/ 20 июня 2020

Проверьте строку кода ниже

var dataArray = activeSheet.getSelection().getValues;

Измените его на

var dataArray = sheet.getSelection().getValues;
...