仕事でメールを使う人なら、同じ内容のメールを何度も送ることってありますよね?
同じ内容のメールを何度もコピー&ペーストするのは面倒で効率が悪い!
そこで今回紹介するのが “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をよろしくお願いいたします