仕事でメールを使う人なら、同じ内容のメールを何度も送ることってありますよね?
同じ内容のメールを何度もコピー&ペーストするのは面倒で効率が悪い!
そこで今回紹介するのが “Gmail 下書きを複製” する方法です
元々メール複製機能は無いのですが、ある方法で簡単に同じメールが好きなだけ複製することが可能です
今すぐ試して、メール業務の効率を上げましょう!
Gmail 下書きメールは複製機能が無い!

OutlookやThunderbirdには、下書きに保存したメールを複製する機能がありますが、Gmailには複製機能はありません
だからGmailで同じ内容のメールを複製する場合・・・
- 下書きに保存したメール内容をコピー
 - 新しい下書きメールを作成する
 - コピーした内容を貼り付ける
 
1~2件のメールならいいけど、10件以上のメールになると手間ですよね?
そこでGoogleスプレッドシートとGoogle Apps Scriptを使って、Gmailのメールを自動的に複製できるようにしたいと思います

Gmail 下書きメールを複製するための準備
まず使用するGmailのアカウントで、GoogleDriveにログインして、“新規”⓵ から“フォルダー”②を作成します

次に作成したフォルダー中に“スプレッドシート”を作成します

新規作成したスプレッドシートを表示して、上部メニューから“拡張機能”① の中にある “Apps Script”② を選択します
Apps Scriptとは、Googleのアプリケーションをカスタマイズするためのプログラミング言語のことです。

“Apps Script”画面が表示されたら、下のプログラムをコピーして貼り付けましょう!

Gmail 下書きメール複製プログラム
// メニューバーに「下書き一括作成」を追加
function onOpen() {
  const spreadsheet = SpreadsheetApp.getActive();
  const menuItems = [{ name: '実行', functionName: 'createEmailsDraft' }];
  spreadsheet.addMenu('下書き一括作成', menuItems);
}
// 下書きを一括作成する
function createEmailsDraft() {
  const sheet = SpreadsheetApp.getActiveSheet();
  // 「下書き作成数」を取得 (A列)
  const count = Math.min(sheet.getRange(2, 1).getValue() || 0, 100);
  // CCを取得 (B列)
  const cc = sheet.getRange(2, 2).getValue() || '';
  // BCCを取得 (C列)
  const bcc = sheet.getRange(2, 3).getValue() || '';
  // 件名を取得 (D列)
  const title = String(sheet.getRange(2, 4).getValue() || '');
  // 本文を取得 (E列)
  const message = String(sheet.getRange(2, 5).getValue() || '');
  // スプレッドシートが保存されているフォルダーを取得
  const fileFolder = DriveApp.getFileById(SpreadsheetApp.getActiveSpreadsheet().getId()).getParents().next();
  let attachmentsFolder = null;
  // 添付ファイルフォルダーの確認
  const attachmentsFolderIterator = fileFolder.getFoldersByName('添付ファイル');
  if (attachmentsFolderIterator.hasNext()) {
    attachmentsFolder = attachmentsFolderIterator.next();
  } else {
    Logger.log('添付ファイルフォルダーが見つかりません。添付ファイルなしで進行します。');
  }
  for (let i = 1; i <= count; i++) { // F列とG列のファイル名を取得 const fileName1 = sheet.getRange(2, 6).getValue(); const fileName2 = sheet.getRange(2, 7).getValue(); const attachments = []; // 添付ファイルフォルダーが存在し、ファイル名が指定されている場合のみ処理 if (attachmentsFolder) { if (fileName1) { const file1Iterator = attachmentsFolder.getFilesByName(fileName1); if (file1Iterator.hasNext()) { const file1 = file1Iterator.next(); attachments.push(file1.getAs(file1.getMimeType())); } else { Logger.log(`ファイル "${fileName1}" が見つかりません。`); } } if (fileName2) { const file2Iterator = attachmentsFolder.getFilesByName(fileName2); if (file2Iterator.hasNext()) { const file2 = file2Iterator.next(); attachments.push(file2.getAs(file2.getMimeType())); } else { Logger.log(`ファイル "${fileName2}" が見つかりません。`); } } } // Gmail 下書きを作成 GmailApp.createDraft('', title, message, { attachments: attachments.length > 0 ? attachments : undefined,
      cc: cc,
      bcc: bcc,
    });
  }
}
あとはフロッピーのアイコンをクリックして保存すれば完了です

保存が完了したら“実行”① をクリックすると、承認が求められるので “権限を確認”② をクリックします

権限の承認をするアカウントが表示されるのでクリックします

アプリの確認のための“警告画面”が表示されるので “詳細を表示”① をクリックして“(安全でないページ)に移動”② をクリックします
Google以外が作ったプログラムの場合、上記のような下のような警告画面が表示されますが、自分で作ったプログラムなので問題ありません。

最後に “許可” をクリックして終了です

Gmail 下書きメールを複製するための方法
プログラムが実行できたら、スプレッドシートに戻って一行目に以下の項目を記載します
- A列:複製するメールの数
 - B列:CCで送信するアドレス
 - C列:BCCで送信するアドレス
 - D列:メール件名
 - E列:メール本文
 - F列:添付ファイル1
 - G列:添付ファイル2
 

それぞれの項目にメール内容を記載して、あとはスプレッドシート上部に追加された “下書き一括作成” をクリックします

するとGmailの下書きにスプレッドシートで作成したメール内容が、A列で指定した数の分だけ作成されます

添付ファイルの追加する方法
複製するメールに添付ファイルを追加する場合、今回作成したスプレッドシートと同じフォルダー内に、新しいフォルダー(添付ファイル)を作成します

作成したフォルダー名を “添付ファイル” にして、その中にメールに添付したいファイルを保存します

あとはスプレッドシートのF列かG列に、添付するファイル名(拡張子含む)を入力して “下書き一括作成” をクリックするだけ

メール本文を作成する時の注意点
スプレッドシートでのメール作成は、Gmailでのメール作成と違って、慣れが必要です
まずスプレッドシートのセルの中にメール本文を入力する際に、改行はEnterキーではなく“Alt+Enterキー”になります
さらに太字やフォントカラーやリストなどは使えません

そのためメールで内容を強調したいときは、工夫が必要になります
Gmailで大量にメールを複製して効率アップ!

仕事で同じ内容のメールを色々な人に送信することがありますが、今回の方法を使えば、簡単に大量のメールを作成できます
これで同じ内容のメールを作成するのに、いちいちコピー&ペーストする手間が省けるしミスも減りますね
いつも大量のメールに悩まされている人は、ぜひお試しください!!
このオッサンLABOブログでは、既存のプラットフォームを利用した、仕事に役立つアイデアなどを紹介しています
今後ともオッサンLABOをよろしくお願いいたします


 

