当我使用应用程序脚本发送邮件时,多个附件的方向如何不同?

How have differents orientation for multiple attachments when i send mail with apps script?

我在通过脚本应用程序的 sendEmail 函数发送附件时遇到问题。以下代码的目的是发送三个附件(前两个为纵向格式,最后一个为横向格式)。

邮件发送成功,我的三个附件都有了。但是,应该是横向格式的那个仍然是纵向格式,我不明白为什么。

我确实将此选项的外部 url 选项从纵向更改为假。尽管如此,什么也没有发生。我在互联网上搜索过,但找不到这个问题的任何答案。

有人可以帮我吗?

这是我使用的代码:

// Fonction permettant de créer la pièce joint de l'onglet "Taux de réalisation hebdo RS"
 function pjTauxRealisationHebdo(){
   // Déclaration des constantes et des variables
   const classeur = SpreadsheetApp.getActiveSpreadsheet();
   var sheetId1 = classeur.getSheetByName("Taux de réalisation hebdo RS").getSheetId();
   var url_base = classeur.getUrl().replace(/edit$/,'');
   var dateExport;

   // Création du format pour la date d'exportation
   var dateJour = new Date();
   var jour = dateJour.getUTCDate();
   if (jour < 10){ var nouveauJour = "0" + jour;} else {var nouveauJour = jour;}
   var mois = dateJour.getUTCMonth() + 1;
   if (mois < 10){var nouveauMois = "0" + mois;} else {var nouveauMois = mois;}
   var annee = dateJour.getUTCFullYear();
   var dateExport = (nouveauJour + "-" + nouveauMois + "-" + annee).toString();

   var nomPDF = "Taux_Réalisation_Hebdo_"+dateExport;

   // Création de l'url externe
   var url_ext1 = 'export?exportFormat=pdf&format=pdf'
       +'&gid=' + sheetId1;
       + '&size=7'
       + '&portrait=true'
       + '&fitw=true'
       + '&sheetnames=false&printtitle=false&pagenumbers=false'
       + '&gridlines=true'
       + '&fzr=false';

   // Création de la variable options
   var options = {
     headers: {
       'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken(),
     }
   }
   var response = UrlFetchApp.fetch(url_base + url_ext1, options);
   return response.getBlob().setName(nomPDF + '.pdf');
 }

 // Fonction permettant de créer la pièce joint de l'onglet "Taux de conformité hebdo RS"
 function pjTauxConformiteHebdo(){
   // Déclaration des constantes et des variables
   const classeur = SpreadsheetApp.getActiveSpreadsheet();
  var sheetId1 = classeur.getSheetByName("Taux de conformité hebdo RS").getSheetId();
   var url_base = classeur.getUrl().replace(/edit$/,'');
   var dateExport;

   // Création du format pour la date d'exportation
   var dateJour = new Date();
   var jour = dateJour.getUTCDate();
   if (jour < 10){ var nouveauJour = "0" + jour;} else {var nouveauJour = jour;}
   var mois = dateJour.getUTCMonth() + 1;
   if (mois < 10){var nouveauMois = "0" + mois;} else {var nouveauMois = mois;}
   var annee = dateJour.getUTCFullYear();
   var dateExport = (nouveauJour + "-" + nouveauMois + "-" + annee).toString();

   var nomPDF = "Taux_Conformité_Hebdo_"+dateExport;

   // Cration de l'url externe
   var url_ext1 = 'export?exportFormat=pdf&format=pdf'
       +'&gid=' + sheetId1;
       + '&size=7'
       + '&portrait=true'
       + '&fitw=true'
       + '&sheetnames=false&printtitle=false&pagenumbers=false'
       + '&gridlines=true'
       + '&fzr=false';

  // Création de la variable options
   var options = {
     headers: {
       'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken(),
     }
   }
   var response = UrlFetchApp.fetch(url_base + url_ext1, options);
   return response.getBlob().setName(nomPDF + '.pdf');
 }

 // Fonction permettant de créer la pièce joint de l'onglet "Taux de conformité hebdo RS"
 function pjTauxAnalyseTourneeUVC(){
   // Déclaration des constantes et des variables
   const classeur = SpreadsheetApp.getActiveSpreadsheet();
   var sheetId1 = classeur.getSheetByName("Analyse tournées UVC").getSheetId();
   var url_base = classeur.getUrl().replace(/edit$/,'');
   var dateExport;

   // Création du format pour la date d'exportation
   var dateJour = new Date();
   var jour = dateJour.getUTCDate();
   if (jour < 10){ var nouveauJour = "0" + jour;} else {var nouveauJour = jour;}
   var mois = dateJour.getUTCMonth() + 1;
   if (mois < 10){var nouveauMois = "0" + mois;} else {var nouveauMois = mois;}
   var annee = dateJour.getUTCFullYear();
   var dateExport = (nouveauJour + "-" + nouveauMois + "-" + annee).toString();

   var nomPDF = "Analyse_Tournées_UVC"+dateExport;

   // Création de l'url externe
   var url_ext1 = 'export?exportFormat=pdf&format=pdf'
       +'&gid=' + sheetId1;
       + '&size=7'
       + '&portrait=false'
       + '&fitw=true'
       + '&sheetnames=false&printtitle=false&pagenumbers=false'
       + '&gridlines=true'
       + '&fzr=false';

   // Création de la variable options
   var options = {
     headers: {
       'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken(),
     }
   }
   var response = UrlFetchApp.fetch(url_base + url_ext1, options);
   return response.getBlob().setName(nomPDF + '.pdf');
 }


 function sendMail(){
   var att1 = pjTauxRealisationHebdo();
   var att2 = pjTauxConformiteHebdo();
   var att3 = pjTauxAnalyseTourneeUVC();
   MailApp.sendEmail('email@email.com','sujet','message',
    {attachments:[att1,att2, att3]});
 }

在你的脚本中,下面的修改怎么样?请按如下方式修改您的pjTauxAnalyseTourneeUVC()

发件人:

var url_ext1 = 'export?exportFormat=pdf&format=pdf'
    +'&gid=' + sheetId1;
    + '&size=7'
    + '&portrait=false'
    + '&fitw=true'
    + '&sheetnames=false&printtitle=false&pagenumbers=false'
    + '&gridlines=true'
    + '&fzr=false';

收件人:

var url_ext1 = 'export?exportFormat=pdf&format=pdf'
    + '&gid=' + sheetId1
    + '&size=7'
    + '&portrait=false'
    + '&fitw=true'
    + '&sheetnames=false&printtitle=false&pagenumbers=false'
    + '&gridlines=true'
    + '&fzr=false';
  • 在您的脚本中,url_ext1export?exportFormat=pdf&format=pdf&gid=###,因为 +'&gid=' + sheetId1;;。这样,就不会使用 portrait=false 和其他参数。我认为这就是你的问题的原因。因此,请删除 +'&gid=' + sheetId1;;

注:

  • 当我看到你的pjTauxRealisationHebdo()pjTauxConformiteHebdo()的其他功能时,我可以看到+'&gid=' + sheetId1;。因此,请删除 +'&gid=' + sheetId1;;