【GAS】スプレッドシートからGmailの下書きを作る方法

スプレッドシートの宛先・件名・本文を読み取り、Gmailの下書きをボタン1つで作成できます。送信は自動で行われないため、宛先や本文を目視確認してから送りたい業務に向いています。

この記事でできること
シートのB1〜B5を元に下書きを作り、Gmailの「下書き」で最終確認できます。
メール内容を入力したGoogleスプレッドシート
スプレッドシートから作成されたGmailの下書き

実装の流れ

  1. 1シートに入力欄を用意する
  2. 2Apps Scriptにコードを貼り付ける
  3. 3図形に関数を割り当てる
  4. 4初回認証後に下書きを確認する

スプレッドシートを準備する

B1から順に「宛先」「件名」「会社名」「氏名」「本文」を入力します。宛先と件名は必須です。

B1からB5にメール情報を入力したシート

Apps Scriptにコードを記述する

シートの「拡張機能」から「Apps Script」を開き、次のコードに置き換えて保存します。

スプレッドシートの拡張機能メニュー
function makeMailDraft() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const values = sheet.getRange("B1:B5").getDisplayValues().flat();
  const mailTo = values[0].trim();
  const subjectText = values[1].trim();
  const companyName = values[2].trim();
  const personName = values[3].trim();
  const bodyText = values[4].trim();

  if (!mailTo || !subjectText) {
    SpreadsheetApp.getUi().alert("宛先と件名を入力してください。");
    return;
  }

  const greeting = companyName + (personName ? "\n" + personName + " 様" : "");
  const mailBody = greeting ? greeting + "\n\n" + bodyText : bodyText;

  GmailApp.createDraft(mailTo, subjectText, mailBody);
  SpreadsheetApp.getUi().alert("下書きを作成しました。Gmailで内容を確認してください。");
}
実行前の注意
最初は自分のメールアドレスで試し、下書きの宛先・改行・署名を確認してください。
Apps Scriptエディターにコードを記述した画面

ボタンに関数を割り当てる

  1. STEP1
    図形を作る

    「挿入」→「図形描画」でボタンを作り、シート上に配置します。

    スプレッドシートの図形描画メニュー
  2. STEP2
    スクリプトを割り当てる

    図形のメニューから「スクリプトを割り当て」を選び、makeMailDraftと入力します。括弧は付けません。

    図形のスクリプト割り当てメニュー
    関数名を入力するスクリプト割り当て画面

初回認証と動作確認

初回実行時はGoogleの認証画面が開きます。プロジェクト名、実行するGoogleアカウント、Gmailとスプレッドシートへのアクセス範囲を確認して許可します。画面の文言は更新されることがあるため、特定のボタン名ではなく「アカウントと権限の内容」で判断してください。

認証後にボタンを押し、Gmailの下書きを開いて確認します。ボタンを押すたびに新しい下書きが1件作られる点に注意しましょう。

うまくいかないとき

ボタンを押しても反応しない

割り当てた名前が makeMailDraft と一致するか、Apps Scriptが保存済みかを確認します。

権限エラーが出る

Apps Scriptエディターから関数を1回実行し、必要な権限を再認証します。

認証の仕組みはGoogle公式の認証ガイド、下書きAPIの仕様はGmailAppリファレンスで確認できます。GASの基本と自動化例もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!