Ich arbeite an einem Projekt, das einen Serienbrief von Formularinformationen mit einer Vorlage durchführt und die Dokumente per E-Mail versendet. Jetzt muss ich ändern, damit die Dokumente in einem Laufwerksordner mit dem Namen "OUTPUT" gespeichert werden. Basierend auf meinem ursprünglichen Arbeitscode habe ich:Vorhandenes Dokument in Ordner mit GAS speichern
for (i in templateNamesArray) {
var templateName = templateNamesArray[i];
var newNameArray = templateName.split(' of ')
var templateid = getTemplateIdByName(templateName);
var docid = DriveApp.getFileById(templateid).makeCopy(newNameArray[1]).getId();
var doc = DocumentApp.openById(docid);
var body = doc.getBody();
Logger.log(body);
Object.keys(formObject).forEach(function(key) {
var field = '%' + key + '%';
var val = formObject[key];
body.replaceText(field, val);
});
doc.saveAndClose();
documentArray.push(doc);
}
die zusammengeführten 'doc' Dateien werden in einem Array gespeichert. Als nächstes habe ich versucht, durch das Dokument-Array-Schleife mit:
var folders = DriveApp.getFoldersByName("OUTPUT");
while (folders.hasNext()) {
var folder = folders.next();
for (i in documentArray) {
docFile = documentArray[i];
Logger.log('while3');
folder.addFile(docFile)
}
}
jedoch die Zeile „folder.addFile (DocFile)“ schlägt fehl, und keine Dateien in OUTPUT erstellt. Sie werden jedoch aufgrund der Funktion SaveandClose im Vorlagenordner gespeichert. Wie kann ich das funktionieren lassen?
Danke, wie würden Sie die Dokumente in documentArray in den OUTPUT-Ordner hinzufügen? – user61629
Der Rest Ihres Codes sollte so funktionieren wie er ist; Ich habe 'folder.addFile (documentArray [i])' beim Testen verwendet –
Danke, es ist sehr schwer zu debuggen, wenn Sie ein Formular verwenden. – user61629