2014-04-29 2 views
-1

Кто-то, пожалуйста, помогите мне, я был повсюду в Интернете, пытаясь найти сценарии конвертации текущей таблицы в PDF и ее рассылку. Я почти уверен, что этот день работал для меня на днях, когда я его использовал:Конвертировать электронную таблицу google в PDF и по электронной почте

К сожалению, серверы в настоящее время недоступны. Подождите немного и повторите попытку. (Строка 32, файл "emailv1")

вот код:

 function onOpen() { 
      var submenu = [{name:"Send Status", functionName:"exportSomeSheets"}]; 
      SpreadsheetApp.getActiveSpreadsheet().addMenu('Project Admin', submenu); 
     } 

     function exportSomeSheets() { 
      var originalSpreadsheet = SpreadsheetApp.getActive(); 
      var message = "Please see attached"; 

      var projectname = originalSpreadsheet.getRange("A1:A1").getValues(); 

      var period = originalSpreadsheet.getRange("B1:B1").getValues(); 


      var subject = projectname + " - Weekly Status Sheet - " + period; 


      var contacts = originalSpreadsheet.getSheetByName("Contacts"); 
      var numRows = contacts.getLastRow(); 
      var emailTo = contacts.getRange(2, 2, numRows, 1).getValues(); 


      var newSpreadsheet = SpreadsheetApp.create("Spreadsheet to export"); 
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
      var projectname = SpreadsheetApp.getActiveSpreadsheet(); 
      sheet = originalSpreadsheet.getActiveSheet(); 
      sheet.copyTo(newSpreadsheet); 


      // Make zee PDF, currently called "Weekly status.pdf" 
      // When I'm smart, filename will include a date and project name 
      var pdf = DocsList.getFileById(newSpreadsheet.getId()).getAs('application/pdf').getBytes(); 
      var attach = {fileName:'Weekly Status.pdf',content:pdf, mimeType:'application/pdf'}; 

      // Send the freshly constructed email 
      MailApp.sendEmail(emailTo, subject, message, {attachments:[attach]}); 

      // Delete the wasted sheet we created, so our Drive stays tidy. 
      DocsList.getFileById(newSpreadsheet.getId()).setTrashed(true); 
     } 

ответ

0

Может быть, этот код может помочь вам.

function toPdf(id){ 
SpreadsheetApp.flush(); 
// var ssDoc = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()); 
    var ssDoc = DriveApp.getFileById(id); 
var pdf = DriveApp.createFile(ssDoc.getAs(MimeType.PDF)); 
    return pdf.getBlob().getBytes(); 
} 
Смежные вопросы