Создание autopdf и электронной почты из листов Google - PullRequest
1 голос
/ 29 марта 2020

Была попытка автоматически сгенерировать pdf анализируемого отчета с использованием данных, сгенерированных из исходного листа.

Попытка создать следующий сценарий, чтобы при обновлении исходных данных в последней обновленной строке анализ выполнялся готово и электронная почта pdf запущена.

Копирование из выполняется для копирования данных на другой лист (Ответы), так как исходный исходный лист (ответы из источника), кажется, занимает всего нет. строк из-за функции IMPORTRANGE.

Вторая часть вопроса, какой триггер должен быть установлен триггер emal pdf. Большое спасибо.

var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();

function Copyfrom() {
   var srcSheet = spreadSheet.getSheetByName("ResponsesFromsource");
   var tarSheet = spreadSheet.getSheetByName("Responses");
   var srcvalues = "";
   var destvalues = "";
   var lastRow = srcSheet.getLastRow();
for (var i = 2; i <= lastRow; i++){ 
  var cellValSrc = srcSheet.getRange("C" + i).getValue(); 
 if(cellValSrc != " "){
    srcvalues = srcSheet.getRange("A"+i+":"+"CZ"+i).getValues();
    var cellValTar = tarSheet.getRange("C" + i).getValue();
    if(cellValTar == ""){
        tarSheet.getRange("A"+i+":"+"CZ"+i).setValues(srcvalues);
        LastRow();
      }
    }      
 }
}    

function LastRow() {
var ss = spreadSheet.getSheetByName("Responses");  
var lastRow = ss.getLastRow();  
var range = spreadSheet.getSheetByName("Master Inputs").getRange("D1");     
range.setValue(lastRow); //sets the last row number to the D1 range in master inputs sheet
var emailValue = ss.getRange(lastRow, 3).getValue();
EmailPdf(emailValue);  
};

function EmailPdf(email){
var sheetId = spreadSheet.getSheetByName("Dashboard").getSheetId(); //get the sheet id of "Dashboard"
var URL = "https://docs.google.com/spreadsheets/d/"+spreadSheet.getId()+"/export"+
                                                    "?format=pdf&"+
                                                    "gid="+sheetId+"&"+
                                                    "size=letter&"+
                                                    "fzr=true&"+
                                                    "scale=4&"+
                                                    "portrait=false&"+
                                                    "fitp=true&"+
                                                    "gridlines=false&"+
                                                    "printtitle=false&"+
                                                    "sheetnames=false&"+
                                                    "pagenum=false&"+
                                                    "top_margin=0.20&"+
                                                    "bottom_margin=0.20&"+
                                                    "left_margin=0.20&"+
                                                    "right_margin=0.20&"+
                                                    "attachment=true"; 
var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};     
var response = UrlFetchApp.fetch(URL,params).getBlob();      
MailApp.sendEmail(email,'Subject','Message',{
    attachments: [{
        fileName: "FilenameA" + ".pdf",
        content: response.getBytes(),
        mimeType: "application/pdf"
    }],
    cc: 'email1'
});    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...