earthpg:GAS専門のプログラミングスクール

GASを使ってGoogleドキュメントをHTMLメールで送る方法

Googleドキュメントの内容をHTMLメールで送りたいんだけど、どうしたらいいのか全然わからないなぁ…
猫男
猫男
catman
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
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() メソッドを使ってドキュメントの全段落を配列として取得し、その最初の要素を取得してメール送信に利用する。