我一直在搜索几个小时,无法找到合并以下脚本的方法。
首先,我有这个脚本,它将创建一个文件夹并将程序保存到其中:
ConversationDB conversation = db.Conversations.Where(c => db.Users.All(u => c.Participants.Contains(u)));
接下来,我有这个脚本,它将一张纸保存为PDF并邮寄它:
function printpdf() { //busca un folder, si no lo hay lo crea y crea 2 sub carpetas un google document copiado en cada una de ellas
var name='Programs';
var carpeta = DriveApp.getRootFolder().searchFolders("title contains '"+name+"'");
if (carpeta.hasNext()===true) {
while (carpeta.hasNext()) {
var folder = carpeta.next();
Logger.log(folder.getName()+' '+folder.getId());
}
}else{
var folder=DriveApp.getRootFolder().createFolder(name);
var parent=DriveApp.getFolderById(folder.getId()); // get parent folder
var folder2 =parent.createFolder('Subfolder'); // 1° way to create sub folder
var doc = DocumentApp.create('Documento sta');
var sheet = SpreadsheetApp.create('Spreadsheet sta');
Utilities.sleep(300); // este retardo es para garantizar en el user-side la creacion del nuevo archivo
var files = DriveApp.getFilesByName('Documento sta');// or Id var file = DriveApp.getFileById(doc.getId());
while (files.hasNext()) {
var file = files.next();
Logger.log('ojo '+file.getName());
file.makeCopy(folder2);
var file2=file.makeCopy(folder);
file2.setName('Acta individual del alumno')
var blob = file2.getAs('application/pdf');
var file2pdf = folder.createFile(blob);
var file2pdf = DriveApp.getFileById(file2pdf.getId());
var file2pdf=file2pdf.makeCopy(folder);
Logger.log('se creó: '+file.getName()+' en la carpeta: '+folder.getName()+' el PDF es: '+file2pdf.getId());
DriveApp.getFileById(file2pdf.getId()).setTrashed(true)
DriveApp.getFileById(docid).setTrashed(true)
}
}
}
如何将基于单元格值的单张PDF保存功能(如第二个脚本)组合到第一个脚本指定的新文件夹中?万分感谢!
答案 0 :(得分:0)
首先,我将更改第二个脚本以返回pdf文件的blob,然后只删除所有电子邮件部分。添加电子表格和工作表名称对象等参数。
然后更改第一个脚本以接受blob,文件夹名称和/或文件名对象等参数。并更改代码以使用这些参数。然后在一个main函数中调用这两个函数,类似于:
function mainMethod()
{
var pdfBlob = getSheetAsPdf(SpreadsheetApp.getActiveSpreadsheet(), 'Sheet Name');
saveBlobToDrive(pdfBlob, 'Folder Name', 'FileName.pdf');
// then setup your email if you still need to do that
}
如果您需要进一步的代码帮助,添加评论或发布您尝试过的更新,这应该有助于您指明如何继续,我会看到我能做什么。