見出し画像

【GAS】Gメールのテンプレート管理

こんにちは。
Gメール、ご存知でしょうか?

Googleが提供する便利なメールツールですね。
テンプレートの保存ができないので、
今回はスプレッドシートでテンプレートを作成し、
GASでGメールの下書きに保存するコードをご紹介します。

~注意~
・あくまでも一例です。
・動作を必ずしも保証するものではありません。
・ここで紹介したコードを使用する際は自己責任でお願いします。
・現時点で利用可能なコードを紹介しています。将来、推奨されなくなる可能性がある点、留意してください。


必要なもの:Googleアカウント


①Googleアカウント作成後、Gメールとドライブを開きます。


②ドライブ上で右クリックし、スプレッドシートを作成します。


③スプレッドシート上で、下記画像のように『ボタン』『件名』『本文』を
作成します。
2行目のボタンにつきましては、【挿入】→【図形描画】から挿入可能です。


④【拡張機能】→【App Script】を選択します。


⑤下記画像のように、コードを入力し、保存ボタンを押します。

function createDraft1() {
  // アクティブなスプレッドシートからデータを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var subject = sheet.getRange("B3").getValue();
  var body = sheet.getRange("B4").getValue();

  // Gmailで下書きを作成
  var draft = GmailApp.createDraft(Session.getActiveUser().getEmail(), subject, body);

  // 完了メッセージを表示
  SpreadsheetApp.getUi().alert('メールを作成しました。');
}

function createDraft2() {
  // アクティブなスプレッドシートからデータを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var subject = sheet.getRange("C3").getValue();
  var body = sheet.getRange("C4").getValue();

  // Gmailで下書きを作成
  var draft = GmailApp.createDraft(Session.getActiveUser().getEmail(), subject, body);

  // 完了メッセージを表示
  SpreadsheetApp.getUi().alert('メールを作成しました。');
}

function createDraft3() {
  // アクティブなスプレッドシートからデータを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var subject = sheet.getRange("D3").getValue();
  var body = sheet.getRange("D4").getValue();

  // Gmailで下書きを作成
  var draft = GmailApp.createDraft(Session.getActiveUser().getEmail(), subject, body);

  // 完了メッセージを表示
  SpreadsheetApp.getUi().alert('メールを作成しました。');
}


⑥スプレッドシートへ戻り、ボタン右上に表示される「︙」をクリックします。
その後、【スクリプトを割り当て】をクリックします。


⑦下記画像のように、スクリプトを割り当てます。
間違えた場合、ボタンを右クリックすることで編集可能です。

B2セルのボタン:createDraft1
C2セルのボタン:createDraft2
D2セルのボタン:createDraft3


⑧スクリプトを割り当てたボタンをクリックした際、
初回に認証を行う必要があります。

⑧-1.「OK」を押します。


⑧-2.現在ログイン中のアカウントを選択します。


⑧-3.「詳細を非表示」→「無題のプロジェクト(安全ではないページ)に移動」を選択します。


⑧-4.「許可」を選択します。


⑨再度、ボタンを押すとGメールの下書きにメールが保存されているはずです。

以上。

いいなと思ったら応援しよう!