Reputation: 11
I´ve been using this code for more almost a year, but all the sudden stop working At the moment, instead of creating a PDF file, is creating an HTML file
function creatPDF() {
SpreadsheetApp.flush();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var Consecutivo = sheet.getRange(2,20).getValue();
var Proveedor = sheet.getRange(14,5).getValue();
var CenCos = sheet.getRange(7,7).getValue();
var TipoOC = sheet.getRange(2,10).getValue();
var Cuenta = sheet.getRange(9,7).getValue();
var PDF_FILE_NAME = Consecutivo + ' - ' + Proveedor;
var spreadsheet = SpreadsheetApp.getActive();
var spreadsheetId = spreadsheet.getId();;
var TargetFolder = DriveApp.getFolderById(DriveApp.getFileById(spreadsheetId).getParents().next().getId());
var url = ss.getUrl();
url = url.replace(/edit$/, '');
var url_ext = 'export?exportFormat=pdf&format=pdf' +
'&size=a4' +
'&portrait=true' +
'&fitw=true' +
'&top_margin=0.30' +
'&bottom_margin=0.3' +
'&left_margin=0.85' +
'&right_margin=0.85' +
'&sheetnames=false&printtitle=false&pagenumbers=false' +
'&gridlines=false' +
'&fzr=false' +
'&gid=' + sheet.getSheetId();
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + url_ext, { headers: { 'Authorization': 'Bearer ' + token }});
newFile = DriveApp.createFile(response.getBlob()).setName(PDF_FILE_NAME);
var newFileSourceFolder = DriveApp.getRootFolder()
TargetFolder.addFile(newFile);
newFileSourceFolder.removeFile(newFile)
SpreadsheetApp.getUi().alert('Nuevo PDF creado para la orden ' + Consecutivo + '.')
}
}
It´s supposed to create just one PDF file, within the same folder where the sheet is.
Upvotes: 1
Views: 151
Reputation: 21
Replace this
url = url.replace(/edit$/, '')
With this
url = url.substring(url.indexOf("edit?"), -100000) //url.replace(/edit$/,'');
Upvotes: 2