Точное расширение вложения .PDF

Код уже отправлен по электронной почте с вложением, но расширение не указано.

Кроме того, не могли бы вы объяснить мне, как назвать вложение этим шаблоном:

Pré-emploi - CandidateName.PDF

Я попытался изменить имя в этой строке "var newSpreadsheet = SpreadsheetApp.create("Spreadsheet to export");" Также я попытался добавить var CandidateName в конце этой строки

var blob = newSpreadsheet.getAs('application/pdf').setName(spreadsheet.getName()+ " - ".CandidateName);

function emailAsPDF() {
  var emailAddress=Session.getActiveUser().getEmail();
  var mess="Voulez-vous envoyer votre rapport  à l'adresse : " + emailAddress;
  var ans= Browser.msgBox("Courriel", mess, Browser.Buttons.YES_NO);
  if (ans===Browser.Buttons.NO){return;}
  var mess="Votre rapport a été envoyé à l'adresse : " + emailAddress;
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sheet=ss.getSheetByName("Recherche");
  //var range = sheet.getActiveCell();
  var CandidateName=ss.getRangeByName("Nom.Candidat").getValue();
  var emailSubject="Vérifications pré-emploi complétées" +" - "+ CandidateName;
  var emailMessage="Bonjour," + "\n\n" + "J’ai le plaisir de vous informer que les vérifications sont complétées pour le candidat indiqué au tableau de résultats pré-emploi suivant:" + "\n\n" + "Bonne journée !";
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();//.getSheetByName("Formation");
  var sheet=spreadsheet.getSheetByName("Recherche");
  var newSpreadsheet = SpreadsheetApp.create("Spreadsheet to export");
  sheet.copyTo(newSpreadsheet);
  var sheetNames=newSpreadsheet.getSheets();
  newSpreadsheet.deleteActiveSheet();
  var blob = newSpreadsheet.getAs('application/pdf').setName(spreadsheet.getName());
  var folderID = parentFolder(); // Folder id to save the PDF
  Logger.log(folderID);
  var folder = DriveApp.getFolderById(folderID);
  var pdfFile = folder.createFile(blob);
  MailApp.sendEmail(emailAddress, emailSubject, emailMessage,{attachments:[pdfFile]});
  //DriveApp.getFileById(pdfFile.getId()).setTrashed(true);
  DriveApp.getFileById(newSpreadsheet.getId()).setTrashed(true);  
  DriveApp.getFileById(pdfFile.getId()).setTrashed(true);
  Browser.msgBox("Courriel", mess, Browser.Buttons.OK); 
}


function parentFolder() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var file = DriveApp.getFileById(ss.getId()); 
  var ParentFolder= file.getParents();
  while ( ParentFolder.hasNext() ) {
    var folder = ParentFolder.next();
    folderID=folder.getId();
     Logger.log(folderID);
  }
  return folderID;
}

function test() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var file = DriveApp.getFileById(ss.getId()); 
  var ParentFolder= file.getParents();
  var folder = ParentFolder.next();
   Logger.log(folder);
//  while ( ParentFolder.hasNext() ) {
//    var folder = ParentFolder.next();
//    folderID=folder.getId();
//     Logger.log(folderID);
//  }
//  return folderID;
}

Я ожидаю получить вложение PDF с таким названием: Pré-emploi - CandidateName Кроме того, как я могу изменить ориентацию документа?

Если вам нужен доступ к файлу, просто спросите меня.


person Mous    schedule 07.10.2019    source источник
comment
Что касается имени, можете ли вы использовать это вместо этого? var blob = newSpreadsheet.getAs('application/pdf').setName(spreadsheet.getName()+ " - " + CandidateName);. Замена точки добавочным знаком +.   -  person Sourabh Choraria    schedule 07.10.2019
comment
Я помещаю этот код: var blob = newSpreadsheet.getAs ('application / pdf') + setName (spreadsheet.getName () + - + CandidateName); но это дает эту ошибку: ReferenceError: setName не определено.   -  person Mous    schedule 07.10.2019


Ответы (2)


Отвечать:

Вместо того, чтобы указывать имя blob при создании, вам нужно указать имя файла при создании.

Код:

function emailPDF() {
  // previous code...
  var blob = newSpreadsheet.getAs('application/pdf').setName(spreadsheet.getName());
  // code...
  var pdfFile = folder.createFile(blob);
}

Необходимо изменить на:

function emailPDF() {
  // previous code...
  var blob = newSpreadsheet.getAs('application/pdf');
  // code...
  var pdfName = spreadsheet.getName() + " - " + CandidateName + '.pdf';
  var pdfFile = folder.createFile(blob).setName(pdfName);
}
person Rafa Guillermo    schedule 08.10.2019
comment
Идеально ! это помогло решить проблему добавления имени. Можно ли теперь получить вложение с расширением .pdf? Вот изображение: photobox.co.uk/my/photo/full ? photo_id = 502217785914 - person Mous; 08.10.2019
comment
@Mous Попробуйте добавить + '.pdf' после CanditateName в назначении pdfName. - person Rafa Guillermo; 08.10.2019
comment
Спасибо за помощь, очень оценил :) - person Mous; 08.10.2019

Идеально ! это помогло решить проблему добавления имени. Можно ли теперь получить вложение с расширением .pdf? Вот изображение:  https://www.photobox.co.uk/my/photo/full?photo_id=502217785914

person Mous    schedule 08.10.2019