Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Google DocsをPDFとWordにして出力しメールに添付する

Google DocsをPDFとWordにして出力しメールに添付する

実際のところ

function myFunction() {
  //いまのドキュメントを読み込む
  var doc = DocumentApp.getActiveDocument();
  var docid = DocumentApp.getActiveDocument().getId();
  var file = DriveApp.getFileById(docid);

  var mailaddr = Session.getActiveUser().getEmail();
  
  //認証トークン
  var fetchOpt = {
    "headers" : { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
    "muteHttpExceptions" : true
  };
  
  //ファイル名まわり
  var YOURDOMAIN = "YOURDOMAIN";
  var nowDate = Utilities.formatDate(new Date(), 'JST', 'yyyyMMdd');
  var doctype = "docx"; //pdf,docx,odt,txt
  var filename = nowDate + "." + doctype
  
  var fetchUrl = "https://docs.google.com/a/" + YOURDOMAIN + "/document/export?format=docx&id=" + docid;
  var newfile = UrlFetchApp.fetch(fetchUrl,fetchOpt).getBlob().setName(filename);
  
    
  MailApp.sendEmail(mailaddr, 'メールサンプル', 'サンプルファイルつき.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF),newfile]
  });
}