前提・実現したいこと
以下のコードをトリガーを用いてフォームが送信されるごとに実行しているのですが、最終的にドキュメントが2つできてしまいます。この原因として何が考えられますでしょうか。
発生している問題・エラーメッセージ
エラーメッセージは特にありません。
ドキュメントが重複して作成されてしまうことが問題です。
ドキュメントは2つとも指定の同じフォルダに作成されています。
//① var ssheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ssheet.getSheetByName('改修後'); //変数を設定する var alldata = sheet.getRange(sheet.getLastRow(), 3 ,1 ,sheet.getLastColumn()).getValues(); var pre_timestamp = sheet.getRange(sheet.getLastRow(), 1).getValue() var timestamp = Utilities.formatDate(pre_timestamp, "JST", "yyyy/MM/dd") var name_group = alldata[0][0]; var name_rep = alldata[0][1]; var phone_rep = alldata[0][2] var name_bill = alldata[0][3]; var name_place = alldata[0][4]; var date = Utilities.formatDate(alldata[0][5] , "JST" ,"yyyy/MM/dd"); if(alldata[0][6] != ""){ var rehe_start = Utilities.formatDate(alldata[0][6],"JST" ,"HH:mm"); }else{ var rehe_start = []; } if(alldata[0][7] != ""){ var rehe_end = Utilities.formatDate(alldata[0][7],"JST" ,"HH:mm"); }else{ var rehe_end = []; } if(alldata[0][8] != ""){ var per_start = Utilities.formatDate(alldata[0][8],"JST" ,"HH:mm"); }else{ var per_start = []; } if(alldata[0][9] != ""){ var per_end = Utilities.formatDate(alldata[0][9],"JST" ,"HH:mm"); }else{ var per_end = []; } var medi_add = alldata[0][10]; //マスター発送日、プラン、オプション選択を設定する var target = sheet.getRange(sheet.getLastRow(), sheet.getLastColumn()-6, 1, 7) var master = sheet.getRange(sheet.getLastRow(), sheet.getLastColumn()-7) var rule = SpreadsheetApp.newDataValidation() .requireValueInList(['on','off']) .build() target.setDataValidation(rule) var rule2 = SpreadsheetApp.newDataValidation() .requireDate() .build() master.setDataValidation(rule2) var doc = DriveApp.getFileById('XXXXXXXXXX').makeCopy(name_group + '御中 ご依頼内容確認書').getId(); var doc_body = DocumentApp.openById(doc).getBody(); var yobi_list = ["日","月","火","水","木","金","土"]; var cells = [["ご依頼日"," "+timestamp],[" 団体名(奏者名)"," "+name_group],[" 収録担当者様氏名"," "+name_rep + " 様"],[" 電話番号"," "+phone_rep],[" 収録場所"," "+name_place],[" 収録日時"," "+date + "("+ yobi_list[new Date(date).getDay()] + ")"],[" ゲネプロ時間"," "+rehe_start + "-" + rehe_end],[" 本番時間"," "+per_start + "-" + per_end],[" マスター発送予定日"," "],[" お届け先"," "+medi_add + " 様"]]; var table1 = doc_body.appendTable(cells).setColumnWidth(0, 150).setColumnWidth(1, 300); table1.editAsText().setFontSize(9); var cell2 = [["依頼内容・備考等","\n\n"+name_bill+"\n上記のプラン内容にて承りました。"]] var table2 = doc_body.appendTable(cell2).setColumnWidth(0, 150).setColumnWidth(1, 300); table2.editAsText().setFontSize(9) var doc_table = doc_body.getTables() //③ var folder_to = DriveApp.getFolderById('XXXXXXXXXXXXXXXXXXXXXX'); folder_to.addFile(DriveApp.getFileById(doc).setName(name_group + " 御中 ご依頼内容確認書 ")); var test = DriveApp.getFileById(doc) DriveApp.getRootFolder().removeFile(test); } ```Google App Script ソースコード
試したこと
・同じ内容のトリガーが設定されていないか確認しました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/11 00:39
2019/03/11 02:13 編集
2019/03/11 05:16