皆さん、こんにちは。今日は、Outlookで受信したメールの内容を自動的にExcelに転記する方法をご紹介します。普段、手作業でメールの内容をExcelにコピーしている方には、ぜひ試していただきたい内容です。
OutlookとExcelを連携するメリット
まず、なぜOutlookとExcelを連携するのか、そのメリットをお伝えします。手動でメールの内容をExcelに転記する作業は、時間がかかるだけでなく、ミスが発生しやすいですよね。VBA(Visual Basic for Applications)を使って自動化することで、以下のようなメリットがあります。
- 作業時間の短縮
- 転記ミスの防止
- データ管理の効率化
これらのメリットにより、業務の効率化が期待できます。
VBAを使ってOutlookのメールをExcelに自動転記する方法
それでは、具体的な方法をご紹介します。以下の手順で進めていきましょう。
1. 開発タブを表示する
まず、ExcelとOutlookの両方で「開発」タブを表示する必要があります。これは、VBAを操作するためのタブです。
- Excelの場合ファイル > オプション > リボンのユーザー設定 > 開発にチェックを入れる。
- Outlookの場合ファイル > オプション > リボンのユーザー設定 > 開発にチェックを入れる。
2. VBAエディタを起動する
次に、OutlookでVBAエディタを起動します。
- Outlookを開き、「開発」タブをクリックします。
- 「Visual Basic」をクリックして、VBAエディタを起動します。
3. 参照設定を行う
OutlookのVBAでExcelの機能を使うために、参照設定を行います。
- VBAエディタで、「ツール」メニューから「参照設定」を選択します。
- 「Microsoft Excel xx.x Object Library」にチェックを入れ、「OK」をクリックします。
4. コードを入力する
それでは、実際にコードを入力していきます。以下のコードを「ThisOutlookSession」に貼り付けてください。
vba
#If Win64 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim myNameSpace As NameSpace
Dim objId As Object
Set myNameSpace = GetNamespace("MAPI")
Set objId = myNameSpace.GetItemFromID(EntryIDCollection)
Dim strFile As String
Dim objExcel As Excel.Application
strFile = "Excelファイルのパス"
Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks.Open(strFile)
Set ws = wb.Worksheets("シート名")
With objId
i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(i, 1).Value = .SentOn
If InStr(.SenderEmailAddress, "@aaa.jp") > 0 Then
ws.Cells(i, 2).Value = "A社"
ElseIf InStr(.SenderEmailAddress, "@bbb.jp") > 0 Then
ws.Cells(i, 2).Value = "B社"
Else
ws.Cells(i, 2).Value = ""
End If
ws.Cells(i, 3).Value = .SenderName
ws.Cells(i, 4).Value = .Subject
ws.Cells(i, 5).Value = .Body
End With
wb.Save
Sleep 700
wb.Close
objExcel.Quit
End Sub
このコードは、メールを受信すると自動的に指定したExcelファイルを開き、以下の情報を転記します。
- 送信日時
- 送信者の会社名(メールアドレスに基づく)
- 送信者名
- 件名
- 本文
※コード内の「Excelファイルのパス」や「シート名」は、ご自身の環境に合わせて変更してください。
よくある質問や疑問
Q1: VBAのコードがうまく動作しません。どうすれば良いですか?
まず、コード内のファイルパスやシート名が正しいか確認してください。また、Excelファイルが既に開かれているとエラーが発生することがあります。その場合は、Excelファイルを閉じてから再試行してください。
Q2: セキュリティの警告が表示されます。これは安全ですか?
VBAマクロは強力なツールですが、不正なコードが含まれていると危険です。信頼できるソースからのコードであることを確認し、自己責任で実行してください。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
以上、OutlookのメールをExcelに自動転記する方法をご紹介しました。最初は少し難しく感じるかもしれませんが、一度設定してしまえば日々の作業が格段に楽になります。ぜひ挑戦してみてください。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。
コメント