LoginSignup
0
1

More than 1 year has passed since last update.

定型メール作成を GAS で自動化すると業務がちょい捗る

Posted at

はじめに

_s__o_ です。

定型メール、作成していますでしょうか。日報、週報、進捗報告、etc etc...。色々あると思います。月次程度ならまだ手動で何とかなるかもしれませんが、週次・日次となると地味に時間がかかります。

Thunderbird などであれば「このメールをもとに新しいメールを作成」的な機能で、メールを複製可能です。しかし、残念ながら Gmail ではそのような機能は備えていません。そのため、毎回 To や Cc や本文などをせっせとコピペする必要があります。こういった作業は単純に時間を要するだけでなく、手作業によるミスを誘発します。特にメール宛先に関しては、メール誤送信の温床になり得ます。

上記のような背景から、作業時間短縮 & 作業品質向上の目的で、定型メール作成を GAS で自動化したいと思います。

入出力イメージ

入力 (スプレッドシート)

定型文をスプレッドシートで作成します。可変内容 (日にちなど) に関しては、関数で自動更新されるようにします。
01_input.png

出力 (Gmail 下書き)

出力は下書きまでに留めます。最終的に送信するか否かは、人間が中身をしっかりとチェックして、判断する必要があります。
02_output.png

コード

全文

とりあえず手動実行前提のため、非常にシンプルです。
```
function createDraft() {
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const to = values[0][2];
  const cc = values[1][2];
  const bcc = values[2][2];
  const subject = values[3][2];
  let body = '';
  body += values[4][2] + '\n\n';
  body += values[5][2] + '\n\n';
  body += values[6][2] + '\n\n';
  body += values[7][2];

  GmailApp.createDraft(to, subject, body, {
    cc : cc,
    bcc : bcc
  });
}

// 関数を実行するメニューを追加
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu('マクロ実行');
  menu.addItem('メール下書き作成', 'createDraft');
  menu.addToUi();
}
```

解説

function createDraft()

メール下書き作成用の関数です。単純に、アクティブシートの特定セル値を取得しているだけです。最後に「GmailApp.createDraft()」で、取得した値をもとにメール下書きを作成しています。

function onOpen()

手動実行用の関数です。この関数を仕込んでおくと、スプレッドシートを開いたタイミングで、メニューバーにアイテムが追加されます。このアイテムを選択して、上記の「createDraft()」を手動実行します。メニューバーに追加されているイメージは、下記の通りです。
03_手動実行.png

まとめ

以上、簡単ですが、定型メール作成を GAS で自動化する方法でした。

今回は手動実行前提の方法でしたが、GAS の実行トリガーとうまく組み合わせれば、日次・週次でメール下書きを自動作成させることも可能かと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1