@da_iad

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GASを使って、ドキュメントの内容をそのままメールで送りたい

Q&A

GASを使用し、ドキュメントの内容をそのままメールで送りたいです。

スプレッドシートを使用し、メールを送る内容や、ドキュメントのテキストをメールで送る内容などは、検索をし見つけることができました。
しかし、ドキュメントの内容をそのままメールで送る方法が分かりません。

やりたいこととしては、ドキュメント内の表や文字の色などをそのままメールで送りたいです。

以下、なにか解決法などございましたら、教えて頂きたいです。

自分で試したこと

以下のものを作成しましたが、クリアテキストでしかメールが送信されません。

function mailTest() {
 const recipient = 'hogehoge@hoge.co.jp'; //送信先のメールアドレス
const doc = DocumentApp.openById('xxxxxxxxxx');
const htmlbody = doc.getBody();
const text = htmlbody.getText();

GmailApp.sendEmail(recipient, subject, text,
{
htmlBody: text
}
);
}

0 likes

2Answer

「ドキュメント」というのは、Googleドライブ上の「Googleドキュメント」のことでしょうか?
それでしたら、ドキュメント側で共有設定を行った上で、URLをメールする方法はいかがでしょうか。
そうすれば、元の情報が全て含まれ欠損は生じませんし、受け取った側が任意の形式で保存でき、必要なら共同編集さえも可能になります。

0Like

Comments

  1. @da_iad

    Questioner

    早速のご回答ありがとうございます。
    はい、Googleドキュメントのことです。
    やはり、そういった方法しかないのですかね。。。

    というのも、ドキュメントの中身を毎日更新し、それを特定の人に周知するためのメールだったので、どうにかできないかと思って質問をさせて頂きました。
  2. 逆に、どのような形式で届けたいのでしょうか?
    Googleドキュメント形式は、ドライブ上でのみ存在する形式で、エクスポートするためには形式変換が必要です。

    ドキュメントを開いて、「ファイル」メニュー⇒「メール」⇒「このファイルをメールで送信」を選択すると、「PDF」など、変換先の形式を選択するように求められます。
    そこで選択可能な形式で良ければ、可能性があると思います。

    「GAS ドキュメントを変換してメール」で検索すると、参考になりそうな記事が見つかります。

こんなのでどうでしょう?
ドキュメントをHTMLファイルにして、文字列にして、メールにしてみました。

function doc_mail() {

  var id = 'ドキュメントのID';
  var url = 'https://docs.google.com/feeds/download/documents/export/Export?id='+id+'&exportFormat=html'; 

  var storageUsed = DriveApp.getStorageUsed(); //これが無いと認証エラー
  
  var param = { method: 'get', 
                headers: {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()}, 
                muteHttpExceptions: true}; //muteHttp~はエラー回避用

  var html = UrlFetchApp.fetch(url, param).getContentText(); 
  
  MailApp.sendEmail({ to: 'メールアドレス', 
                      subject: '件名',  
                      htmlBody: html}); 

}
0Like

Comments

  1. @da_iad

    Questioner

    ありがとうございます。
    試してみます!!

Your answer might help someone💌