VBAを使ってOutlookのメールを読み取る方法

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、VBA、つまりVisual Basic for Applicationsを使って、Outlookのメールを自動的に読み取る方法をご紹介します。パソコンやスマホがちょっと苦手な方でも大丈夫です。ゆっくりと、一緒に進めていきましょう。

スポンサーリンク

VBAって何?

Outlookのイメージ

Outlookのイメージ

まず、VBAとは何かをご説明します。これは、MicrosoftのOffice製品に組み込まれているプログラミング言語で、ExcelやOutlookなどの操作を自動化するために使われます。例えば、毎日同じ作業を繰り返すのは大変ですよね。そんな時、VBAを使えば、その作業を自動化できるんです。

Outlookのメールを読み取るってどういうこと?

次に、Outlookのメールを読み取るとはどういうことかをお話しします。例えば、毎日特定の件名のメールを探して、その内容をExcelにまとめる作業があるとします。これを手作業で行うのは大変ですが、VBAを使えば、自動的にそのメールを探し出し、必要な情報を抽出してくれるんです。

実際にやってみよう!VBAでOutlookのメールを読み取る手順

では、具体的にどのようにVBAを使ってOutlookのメールを読み取るのか、その手順をご紹介します。

  1. まず、Excelを開きます。
  2. 次に、キーボードの「Alt」キーを押しながら「F11」キーを押して、VBAの編集画面を開きます。
  3. 画面上部の「挿入」メニューから「モジュール」を選択し、新しいモジュールを追加します。
  4. 以下のコードをコピーして、先ほど追加したモジュールに貼り付けます。
vba
Sub GetFromInbox()
Dim olApp As Object
Dim olNs As Object
Dim Fldr As Object
Dim olMail As Object
Dim i As Integer
Dim x As Date
Dim ws As Worksheet
Dim lrow As Long

Set ws = ThisWorkbook.Sheets(1)
Set olApp = CreateObject("Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set Fldr = olNs.GetDefaultFolder(6) ' 6は受信トレイを指します
x = Date

For Each olMail In Fldr.Items
If TypeName(olMail) = "MailItem" Then
If InStr(olMail.Subject, "特定のキーワード") > 0 And _
DateDiff("d", olMail.ReceivedTime, x) = 0 Then
lrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(lrow, 1).Value = olMail.Subject
ws.Cells(lrow, 2).Value = olMail.ReceivedTime
ws.Cells(lrow, 3).Value = olMail.SenderName
End If
End If
Next olMail

Set Fldr = Nothing
Set olNs = Nothing
Set olApp = Nothing
End Sub

このコードは、Outlookの受信トレイから「特定のキーワード」を含む今日受信したメールを探し、その件名、受信日時、送信者名をExcelのシートに書き出すものです。

よくある質問や疑問

Q1: このコードを実行するとエラーが出ます。どうすればいいですか?

エラーが出る場合、Outlookが正しく設定されているか、ExcelとOutlookのバージョンが互換性があるかを確認してください。また、セキュリティ設定によっては、外部アプリケーションからのアクセスが制限されている場合があります。

Q2: 特定のフォルダ内のメールを読み取りたい場合はどうすればいいですか?

その場合、コード内の`Set Fldr = olNs.GetDefaultFolder(6)`の部分を、読み取りたいフォルダに変更します。例えば、「特定のフォルダ」という名前のフォルダ内のメールを読み取りたい場合は、`Set Fldr = olNs.GetDefaultFolder(6).Folders(“特定のフォルダ”)`とします。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

いかがでしたでしょうか。VBAを使えば、Outlookのメールを自動的に読み取ることができ、日々の作業を大幅に効率化することができます。最初は難しく感じるかもしれませんが、少しずつ慣れていけば、きっと便利さを実感できるはずです。他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました