送信された Google フォームを使用して会議の議題を作成するスクリプトを作成しようとしています。「今週の従業員賞」というスクリプトをスターターとして使用しましたが、コーディングの経験がまったくないため、困惑しました。
Google フォームで要求しているデータ (つまり、Google スプレッドシートの列のヘッダー) と一致する主要なプレースホルダーを使用して、googde doc 議題テンプレートを作成しました。目標は、誰かが会議の議題項目を説明するフォームを送信すると、このスクリプトがそのデータを取得し、Google ドキュメントの議題テンプレートを使用して会議の議題を作成することです。
編集したスクリプトは次のとおりです。
// Global variables
var docTemplate = "1-4ELCpEGvrtnprnBYoLapwASK6TYmt3YpY0BkBKICrM";
var docName = "Agenda";
function onFormSubmit(e) { // add an onsubmit trigger
// Meeting name and date values come from the spreadsheet form
var meeting_name = e.values[1];
var date = e.values[2];
// Get document template, copy it as a new temp doc, and save the Doc’s id
var copyId = DocsList.getFileById(docTemplate)
.makeCopy(docName+' for '+Meeting_Name)
.getId();
// Open the temporary document
var copyDoc = DocumentApp.openById(copyId);
// Get the document’s body section
var copyBody = copyDoc.getActiveSection();
// Replace place holder keys,
copyBody.replaceText('keyMeeting_Name', Meeting_Name);
copyBody.replaceText('keyDate', Date);
var Agenda_Item_1 = e.values[3]
var Item_1_Time = e.values[4]
var Agenda_Item_2 = e.values[5]
var Item_2_Time = e.values[6]
var Agenda_Item_3 = e.values[7]
var Item_3_Time = e.values[8]
copyBody.replaceText('keyAgenda_Item_1', Agenda_Item_1);
copyBody.replaceText('keyItem_1_Time', Item_1_Time);
copyBody.replaceText('keyAgenda_Item_2', Agenda_Item_2);
copyBody.replaceText('keyItem_2_Time', Item_2_Time);
copyBody.replaceText('keyAgenda_Item_3', Agenda_Item_3);
copyBody.replaceText('keyItem_3_Time', Item_3_Time);
// Save and close the temporary document
copyDoc.saveAndClose();
}
実行すると、TypeError: Cannot read property "values" from undefined (line 7)
. 後続のすべての行でエラーが発生すると想定していますe.values
。