将工作表导出为PDF突然停止工作

问题描述

我已经使用此代码已有将近一年的时间,但是突然间停止工作 目前,不是创建PDF文件,而是创建HTML文件

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 + '.')                        
    
        
  }

}

应该在工作表所在的同一文件夹中创建一个PDF文件

解决方法

替换此

url = url.replace(/edit$/,'')

有了这个

url = url.substring(url.indexOf("edit?"),-100000) //url.replace(/edit$/,'');