0
我正在使用腳本來處理表單,因爲它已提交。其中的一部分涉及將表單中的數據與Google文檔合併,然後將該文檔通過電子郵件發送給PDF。無論如何刪除文件一旦被髮送?刪除新創建的文檔?
如果有幫助,這是我的腳本:
function onFormSubmit(e) {
//Get Form Values
var candID = parseInt(e.values[1]);
var emailAddress = e.values[2];
//Get Additional Settings
var ssMaster = SpreadsheetApp.openById("0AierVcXWELCudDY2Y3J2Z1hoX3pLOXYzTW1pOVF3Wmc");
var settings_sheet = ssMaster.getSheetByName("Settings");
var candCodeLength = settings_sheet.getRange("B20").getValue();
var candCodeChars = settings_sheet.getRange("B21").getValue();
var tempDocumentID = settings_sheet.getRange("B14").getValue();
var candInfoSheet = ssMaster.getSheetByName("Candidate Information");
var candInfoLastRow = candInfoSheet.getLastRow();
var candInfoArray = candInfoSheet.getRange(2,1,candInfoLastRow,7).getValues();
//Find Corresponding Row for Form Entry
for(var i=0; i<candInfoArray.length; i++) {
if (candInfoArray[i][3] === candID) {
var row = i+2;
}
}
var candIDRowNumber = row;
//Create & Record Candidate Code
do {
var candCode = createCandCode(candCodeLength, candCodeChars);
}
while(checkCandCode(candInfoArray, candCode) === true);
candInfoSheet.getRange(row,6,1,1).setValue(candCode);
candInfoSheet.getRange(row,7,1,1).setValue(emailAddress);
//Create PDF
var docid = DocsList.getFileById(tempDocumentID).makeCopy("Character Reference Instructions").getId();
var doc = DocumentApp.openById(docid);
Logger.log(candInfoArray);
Logger.log(row);
var firstName = candInfoArray[(row-2)][1];
var lastName = candInfoArray[(row-2)][0];
var body = doc.getActiveSection();
body.replaceText("<<first>>", firstName);
body.replaceText("<<last>>", lastName);
body.replaceText("<<code>>", candCode);
doc.saveAndClose();
//Send Email
var message = "You have successfully completed the NHS Registration form.\n\n Your Candidate Code (different from your Candidate ID) is \"" + candCode + "\" and should be given to your character reference so that they can fill out your character reference form.\n\n If you have any questions, please email Ann Perham at [email protected]" ;
var subject = "NHS Registration Confirmation & Character Reference Instructions";
var advancedArgs = {name: "Ann Perham", replyTo: "[email protected]", attachments: doc.getAs("application/pdf")};
MailApp.sendEmail(emailAddress, subject, message, advancedArgs);
}
謝謝@ serge-insas!我最終在我的「發送郵件」部分之後添加了以下代碼。 'var file = DocsList.getFileById(docid); file.setTrashed(true);' 我昨天搜索了這個答案的文檔,但由於某種原因,我從來沒有想過要搜索「垃圾」這個詞。 –