業務効率化

VBA+ChatGPT:自動和英訳Outlookメール作成システム

動的にテンプレと宛先追加が可能なメール文作成マクロです。送信毎に変化する本文内容などは、#を使いキーワード化し、メール作成前に置き換えます。Google翻訳により本文の英訳、ChatGPTを使うことで本文作成も可能です。VBAとして登録すればエクセル、OutlookVBAから直接実行できます。

記事の内容

・挙動

・ポイント機能

挙動

ポイント機能

簡単な説明のみ記載します。

・#キーワード#によるメール文置き換え

・返信と、GPT使用オプション

今回のシステムについては、OutlookClassicで、メール開始数行目に下記の記載で始まるメール本文記載を前提としています。もちろん、Infoシートの置き換え文字等を置き換えればメール本文作成が可能です。将来的にClassicが使えない噂も出てますが、のちに紹介する#NAIMINMAIL#を使用しなければメール本文自体は作成可能です。
例)
宛先(相手)         送信者(自分)です。

〜本文〜

#キーワード#によるメール文置き換え

メール文作成時には、セルに入力した文章の内、#キーワード#の文字を置き換え対象と見なし、メール作成前に文字を入力してもらいます。一部予約語があり、其々は既定の置き換えが行われます。

--予約語一覧--

  • #MAIL宛先#・・・宛先列に入れた値に置き換えられます。
  • #MAIL送信者#・・・Infoシートに入れた値に置き換えられます。
  • #MAIL本文#・・・ユーザーフォームでMultiline入力ボックスが出てきて、GPT使用オプション(と送信)が選べます。
  • #MAIL末尾#・・・Infoシートに入れた値に置き換えられます。入れない場合でも末尾に自動で挿入されます。
  • #NAIMINMAIL#・・・返信するメールとして選択したメールを送る相手に置き換えます。宛先は選択したメールボックスにより置き換えられます。受信ボックスから選べばあなた宛てに送信した人に、送信済みボックスから選べばあなたが送信した相手を宛先に置き換えます。
  • #MAILADR#・・・宛先を記載したシートから手動で宛先/CCを選択し、選択したメアドに置き換えられます。

下記のような本文があれば、下記のように入力フォームに入力することができます。#MAIL本文#を除いた予約語は自動で置き換えられます。

セルに登録するテンプレの例
上記テンプレを選択した場合の入力フォーム

オプション:英訳、返信、ChatGPT使用

登録する本文は#キーワード#なしでも機能しますが、ある場合は上記予約語含めて入力フォームが出現します。#キーワードに応じて#3つオプションが出現します。

  • 英/Eng・・・本文と宛先を英訳します。*宛先の表記は「Dear ○○ san, from ○○」と訳されます。
  • GPT使用・・・本文作成をAIに命令し分かりやすくまとめたりできます。
  • 返信・・・作成メールを別メールにかぶせて返信できます。

返信オプション

#NAIMINMAIL#があった場合は、選択したメールに対する返信のため、出現しません。また、メールが新規作成の場合(#NAMEINMAIL#がない場合は返信か新規どちらかと判断)は#MAIL件名#が出現し、新規作成時メールの件名入力ができます。チェックして返信すると入力不可となります。

英訳オプション

下記のような登録テンプレに基づき、UFを入力し英訳を押します。記載した入力値に基づき、件名とともに英訳されます。

登録したテンプレを入力し、英訳をチェック
上記入力値に基づき、件名、宛先、本文が英訳される。

また、テンプレにて”#NAIMINMAIL#”がある場合は自動的に返信がされます。その際メール本文の文頭に応じて英語か日本語かを判定します。仮に下記メールのような英文メールを選択したとします。

返信用メールが英語の場合

文頭の「san」、「from」のどちらかがあると、英文のやり取りしているメールと判定し、テンプレの内容が自動で英訳されます。もしオプションで英訳チェックボタンがなかったとしても自動で英訳されます。これにより迅速なメール返信と英訳漏れを回避します。

英訳オプションをチェックせず作成する。(#NAMEINMAIL#があるため自動返信判定される)
宛先がInfoシートの英語分に変化し、本文も英訳される。

GPT使用オプション

#本文#が記載されていた場合に出現します。依頼が複雑であったり英訳したりなどしたい場合、プロンプトを入力し指示ができます。プロンプトはInfoシートに記載文章にあり、チェックするとテキストボックスに入力されます。その下に内容を記載し送信することで、APIを発火させ、JSONコンバータで抽出した返答に#本文#が置換えられます。

チェックするとプロンプトが入力される。
プロンプトはInfoシートに記載。内容は環境に応じて変更可能。

-業務効率化