スキルアップを始める!

【GAS】Googleスプレッドシートのデータを使ってHTMLメールを送信する方法

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

Googleスプレッドシートのデータを活用して、HTMLメールを作成し送信する方法をご紹介します。この方法を使えば、スプレッドシートの情報を基に、見栄えの良いメールを簡単に送ることができます。

はじめに

Google Apps Scriptを使えば、スプレッドシートのデータを基にHTMLメールを作成し、送信することができます。

今回は、週報などの報告をHTMLメールで送信する例を使って、その方法を詳しく解説していきます。

準備:スプレッドシートの作成

まずは、週報のデータを入力するスプレッドシートを作成しましょう。例えば、以下のような形式でデータを入力します:

A列(件名)B列(名前)C列(今週の成果)D列(来週の目標)
週報(9/18-9/22)山田太郎プロジェクトAの完了新規顧客獲得3件

Google Apps Scriptの作成

次に、Google Apps Scriptを作成します。

  1. スプレッドシートのメニューから「ツール」→「スクリプトエディタ」を選択します。
  2. 新しいスクリプトファイルが開きます。ここに以下のようなコードを入力します。
javascriptfunction sendWeeklyReportEmail() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var subject = sheet.getRange("A2").getValue();
  var name = sheet.getRange("B2").getValue();
  var achievements = sheet.getRange("C2").getValue();
  var goals = sheet.getRange("D2").getValue();
  
  var htmlBody = `
    <html>
      <body style="font-family: Arial, sans-serif; line-height: 1.6; color: #333;">
        <h1 style="color: #4A86E8;">週間レポート</h1>
        <p>こんにちは、${name}さん</p>
        <h2 style="color: #6AA84F;">今週の成果</h2>
        <p>${achievements}</p>
        <h2 style="color: #E69138;">来週の目標</h2>
        <p>${goals}</p>
        <p>今週もお疲れ様でした。来週も頑張りましょう!</p>
      </body>
    </html>
  `;
  
  MailApp.sendEmail({
    to: "boss@example.com",
    subject: subject,
    htmlBody: htmlBody
  });
}

コードの解説

このスクリプトは以下のような流れで動作します。

  1. アクティブなシートを取得します。
  2. A2、B2、C2、D2セルからそれぞれ件名、名前、今週の成果、来週の目標を取得します。
  3. 取得したデータを使って、HTMLメールの本文を作成します。
  4. MailApp.sendEmail() メソッドを使って、作成したHTMLメールを送信します。

HTMLメールの本文では、見やすさを考慮して以下のような工夫をしています。

  • <h1><h2> タグを使って、見出しを設定しています。
  • インラインCSSを使って、フォントやカラーを指定しています。
  • テンプレートリテラル(バッククォートで囲まれた部分)を使用して、動的にデータを挿入しています。

スクリプトの実行方法

スクリプトを実行するには、以下の手順を踏んでください。

  1. スクリプトエディタの「実行」ボタンをクリックします。
  2. 初回実行時は、認証を求められます。画面の指示に従って、必要な権限を許可してください。
  3. 実行が完了すると、指定したメールアドレス(この例では “boss@example.com”)にHTMLメールが送信されます。

メールが送信されました。

注意点

  • HTMLメールの作成時は、様々なメールクライアントでの表示を考慮し、シンプルなHTML構造を心がけましょう。
  • 大量のメール送信を行う場合は、Googleの1日あたりの送信制限に注意してください。
  • セキュリティのため、ユーザー入力データをそのままHTMLに挿入する際は、適切なエスケープ処理を行うことをお勧めします。

まとめ

以上が、Googleスプレッドシートのデータを使ってHTMLメールを送信する方法です。この方法を活用すれば、定型的なレポートの送信作業を大幅に効率化できます。

例えば、週報だけでなく、月次報告や営業報告など、様々な用途に応用できるでしょう。さらに、このスクリプトをトリガーと組み合わせれば、特定の曜日や時間に自動でメールを送信することもできます。例えば、毎週金曜日の夕方5時に自動で週報メールを送信するようにスケジュールを設定できます。

ぜひ、皆さんの業務にも取り入れてみてください。定期的な報告業務の効率化に大いに役立つはずです。

URLをコピーしました!