Я новичок в написании сценариев и пытался это сделать уже много часов, поэтому я надеюсь, что вы можете мне помочь.
У меня есть папка с таблицами Google под названием «X», и у меня есть папка pdffolder, содержащая файлы PDF, которые называются «X.pdf». Я пытаюсь перебрать имена моих даш-файлов + «.pdf», чтобы найти те, которые отсутствуют, и, наконец, создать свой pdf-файл в той же папке. Однако мой сценарий повторяется слишком много раз. Я хочу, чтобы он пропустил даш-файл, если файл с именем + ". Pdf" уже находится в pdffolder. Вот мой код
function createPdf() {
var pdfFolder = DriveApp.getFolderById("ID")
var pdfFiles = pdfFolder.getFiles();
var dashFolder = DriveApp.getFolderById('ID');
var dashFiles = dashFolder.getFiles();
var pdfNames = [];
var dashNames = [];
while (pdfFiles.hasNext()) {
var currentFile2 = pdfFiles.next();
var fileName2 = currentFile2.getName();
pdfNames.push(fileName2);
}
while (dashFiles.hasNext()) {
var currentFile = dashFiles.next();
var fileName = currentFile.getName();
dashNames.push(fileName);
for (p in pdfNames) {
if((fileName + ".pdf") == pdfNames[p]) {
Logger.log("YES");
}
else {
var xlsBlob = currentFile.getBlob(); // Blob source of Excel file for conversion
var xlsFilename = currentFile.getName(); // File name to give to converted file; defaults to same as source file
pdfFolder.createFile(currentFile.getAs(MimeType.PDF));
Logger.log("pdf Created");
}
}
}
}
Моя настоящая проблема связана с тем, что у меня будет более 100 листов, которые нужно преобразовать в pdf, и это будет превышать 6-минутный лимит. Итак, я пытаюсь создать сценарий, который может запускать себя и продолжать с того места, где он остановился, пропуская листы, которые уже находятся в pdffolder, и создавая те, которые отсутствуют.
Я могу быть здесь чересчур, так что я надеюсь, что кто-нибудь может мне подсказать :-)