GASを使ってGoogleドキュメントをHTMLメールで送る方法
Googleドキュメントの内容をHTMLメールで送りたいんだけど、どうしたらいいのか全然わからないなぁ…

猫男

catman
それならcatmanがGoogle Apps Script(GAS)を使って、GoogleドキュメントをHTMLメールで送る方法を伝授しよう。
GASでGoogleドキュメントをHTMLメールで送る準備
まずは、基本のGASスクリプト環境を整える必要がある。
GASプロジェクトの作成
GASプロジェクトを作成するためには、GoogleスプレッドシートやGoogleドキュメントのメニューから「拡張機能」を選び、「スクリプトエディタ」を開く。
GoogleドキュメントのIDを取得
スクリプトで操作するGoogleドキュメントのIDが必要だ。URLから「/d/」と「/edit」の間の文字列がそのIDだ。
GASプロジェクトを開いたら、これらの準備を整えよう。
GASでGoogleドキュメントの内容を取得
GASを使えば、Googleドキュメントの内容を簡単に取得できる。その方法を見ていこう。
ドキュメントの内容を変数に保存
以下のスクリプトを使うと、Googleドキュメントを開いてその内容を取得することができる。
var doc = DocumentApp.openById('ドキュメントID');
var body = doc.getBody();
var content = body.getText();
DocumentApp.openById() を使ってドキュメントを開く。getBody() で本文を取得し、getText() で内容をテキストとして取り出す。
GASでHTMLメールを送信する
Googleドキュメントの内容を取得したら、それをHTMLメールとして送信する手順について説明しよう。
メール送信スクリプト
以下のスクリプトを見てほしい。これでメールを送信する準備が整う。
var emailBody = body.getText();
GmailApp.sendEmail('送信先メールアドレス', '件名', '', {
htmlBody: emailBody
});
GmailApp.sendEmail() を使ってメールを送信できる。htmlBody: に取得した内容をセットすれば、HTMLメールの形でドキュメント内容を送れる。
おぉ、思っていたより簡単にできるんですね!早速試してみます!

猫男

catman
その意気だ。さぁ、どんどんGASでGoogleドキュメントを活用していこう。
練習問題
Googleドキュメントの最初の段落だけを取得し、それをHTMLメールで送るスクリプトを作ってみよう。
練習問題の解答・解説
function sendFirstParagraphEmail() {
var doc = DocumentApp.openById('ドキュメントID');
var body = doc.getBody();
var firstParagraph = body.getParagraphs()[0].getText();
GmailApp.sendEmail('送信先メールアドレス', '最初の段落メール', '', {
htmlBody: firstParagraph
});
}
このスクリプトでは、getParagraphs() メソッドを使ってドキュメントの全段落を配列として取得し、その最初の要素を取得してメール送信に利用する。