【发布时间】:2018-01-07 00:19:33
【问题描述】:
我有一个绑定到电子表格的应用程序脚本,该电子表格从工作表创建一个 pdf 文件。这将创建一个单页 pdf 并将其保存在驱动器的文件夹中。直到最近,这一切都很好。现在,每次我运行代码时,它都会执行应有的操作,但文件的第二页是空白的。当我通过 file/download as/pdf doc 手动创建 pdf 时,它会按原样创建 pdf,只有一页。我已经对脚本临时创建的原始副本和副本进行了尝试。两者都在手动完成时工作。我正在寻找一些关于可能出了什么问题以及需要改变什么的建议。下面是代码示例:
function makePDF() {
var sheet1 = SpreadsheetApp.getActive().getSheetByName('eTimesheet');
var sheet2 = SpreadsheetApp.getActive().getSheetByName('Time Sheet');
var sheet3 = SpreadsheetApp.getActive().getSheetByName('Data');
var triggercell3 = sheet1.getRange('M33').getValue();
if (triggercell3 == 'GO'){
var techNumber = sheet3.getRange('B5').getValue();
var date = sheet3.getRange('B3').getValue();
var fileID = sheet3.getRange('B7').getValue();
var pdfName = "TimeSheet- "+ techNumber + " " + date
var ss = SpreadsheetApp.getActive();
var folder = DriveApp.getFolderById(fileID);
sheet2.showSheet();
sheet1.hideSheet();
//Copy whole spreadsheet
var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(ss.getId()).makeCopy("tmp_convert_to_pdf", folder))
//save to pdf
var theBlob = destSpreadsheet.getBlob().getAs('application/pdf').setName(pdfName);
var newFile = folder.createFile(theBlob);
DriveApp.getFileById(destSpreadsheet.getId()).setTrashed(true);
sheet1.showSheet();
sheet2.hideSheet();
sheet1.getRange('M33').clearContent();
}
}
感谢您的帮助...
【问题讨论】:
标签: pdf google-apps-script google-sheets