我有一个应用程序脚本绑定到电子表格,该表格从工作表创建pdf文件。这将创建一个单页pdf并将其保存在驱动器中的文件夹中。直到最近,这完美地运作。现在,每次运行代码时,它都会执行它应该执行的操作,但文件的第二页是空白的。当我通过文件/下载手动创建pdf作为/ pdf doc时,它只应该创建一个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();
}
}
感谢您的帮助......
答案 0 :(得分:0)
如果没有示例,我的第一个问题是......如果从工作表中删除几行并运行脚本,您是否会回到1页?
我问的是,问题只是保证金设置。如果这是问题,您可以调整行数或使用 UrlFetchApp.fetch 方法,因为可以指定PDF页面格式(例如:边距大小)。