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


実装の流れ
- 1シートに入力欄を用意する
- 2Apps Scriptにコードを貼り付ける
- 3図形に関数を割り当てる
- 4初回認証後に下書きを確認する
スプレッドシートを準備する
B1から順に「宛先」「件名」「会社名」「氏名」「本文」を入力します。宛先と件名は必須です。

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で内容を確認してください。");
}
実行前の注意
最初は自分のメールアドレスで試し、下書きの宛先・改行・署名を確認してください。
最初は自分のメールアドレスで試し、下書きの宛先・改行・署名を確認してください。

ボタンに関数を割り当てる
-
STEP1図形を作る
「挿入」→「図形描画」でボタンを作り、シート上に配置します。

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

初回認証と動作確認
初回実行時はGoogleの認証画面が開きます。プロジェクト名、実行するGoogleアカウント、Gmailとスプレッドシートへのアクセス範囲を確認して許可します。画面の文言は更新されることがあるため、特定のボタン名ではなく「アカウントと権限の内容」で判断してください。
認証後にボタンを押し、Gmailの下書きを開いて確認します。ボタンを押すたびに新しい下書きが1件作られる点に注意しましょう。
うまくいかないとき
ボタンを押しても反応しない
割り当てた名前が makeMailDraft と一致するか、Apps Scriptが保存済みかを確認します。
権限エラーが出る
Apps Scriptエディターから関数を1回実行し、必要な権限を再認証します。
認証の仕組みはGoogle公式の認証ガイド、下書きAPIの仕様はGmailAppリファレンスで確認できます。GASの基本と自動化例もあわせてご覧ください。




