Outlookの「受信日時」「件名」「本文」などをVBAを使ってExcelに転記したいのですが、下記のコードですと、古い受信日時から1件しか取得できません。
出来れば、「受信トレイ」や「移動」「下書」きなどの取得したいフォルダーを選択し、新しい日付けから、「受信日時」「件名」「本文」を一括で
Excelに転記できるVBAコードに設定にして頂けると助かります。
よろしくお願いいたします。
VBAコードURL
https://writening.net/page?NWK5ZZ
No.2ベストアンサー
- 回答日時:
以下は、Outlookから受信トレイ、移動、下書きなどのフォルダから新しい日付順に受信日時、件名、本文を一括でExcelに転記するVBAコードの例です。
このコードは、Outlookの既定のメールボックスからフォルダを選択し、そのフォルダ内のすべてのメールを取得します。vba
Copy code
Sub ExportEmailsToExcel()
Dim OutlookApp As Object
Dim OutlookNamespace As Object
Dim Folder As Object
Dim Item As Object
Dim xlApp As Object
Dim xlWB As Object
Dim xlWS As Object
Dim RowIndex As Integer
' Outlookアプリケーションを作成
Set OutlookApp = CreateObject("Outlook.Application")
' Outlookの名前空間を取得
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
' Excelアプリケーションを作成
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True ' Excelを表示
' 新しいExcelブックを作成
Set xlWB = xlApp.Workbooks.Add
' Excelワークシートを取得
Set xlWS = xlWB.Sheets(1)
' Excelワークシートにヘッダーを書き込む
xlWS.Cells(1, 1).Value = "受信日時"
xlWS.Cells(1, 2).Value = "件名"
xlWS.Cells(1, 3).Value = "本文"
RowIndex = 2 ' データの書き込み開始行
' フォルダを選択
Set Folder = OutlookNamespace.PickFolder
If Not Folder Is Nothing Then
' フォルダ内のすべてのメールを処理
For Each Item In Folder.Items
' メールのタイプがメールである場合のみ処理
If TypeOf Item Is Outlook.MailItem Then
' Excelにデータを書き込む
xlWS.Cells(RowIndex, 1).Value = Item.ReceivedTime
xlWS.Cells(RowIndex, 2).Value = Item.Subject
xlWS.Cells(RowIndex, 3).Value = Item.Body
RowIndex = RowIndex + 1
End If
Next Item
End If
' メモリを解放
Set OutlookApp = Nothing
Set OutlookNamespace = Nothing
Set Folder = Nothing
Set Item = Nothing
Set xlApp = Nothing
Set xlWB = Nothing
Set xlWS = Nothing
End Sub
このコードを実行すると、Outlookのフォルダを選択するダイアログが表示されます。選択したフォルダ内のすべてのメールがExcelに転記されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Outlookの「受信日時」「送信者アドレス」「件名」「本文」の内容をExcelへの取り込み 2 2024/02/05 19:05
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- その他(Microsoft Office) outlook vba 予定表 3 2022/11/20 14:51
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Gmail 受信メール(hotmail(outlook)=同じ内容のメールが複数受けとる 2 2023/11/02 02:49
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) 転記するVBAコードを教えて下さい。 1 2023/03/31 17:22
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
マクロについて質問です。 セルの内容をクリアするコマンドボタン(AX) を作成しました。 指定範囲が
Visual Basic(VBA)
-
エクセルVBAの配列について
Visual Basic(VBA)
-
-
4
基本情報技術者の擬似言語プログラム このプログラムの答えは(ウ)です。でも配列に格納されてる順番が良
Visual Basic(VBA)
-
5
xmlドキュメントから別拡張子で保存したい
Visual Basic(VBA)
-
6
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
7
Excel マクロについて
Visual Basic(VBA)
-
8
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
9
Cellsのコードが打てません
Visual Basic(VBA)
-
10
VBA
Visual Basic(VBA)
-
11
引数に数値、文字列の混在
Visual Basic(VBA)
-
12
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
13
VBA ファイル名取得
Visual Basic(VBA)
-
14
エクセルファイルのデータ転記について
Visual Basic(VBA)
-
15
VBA エクセルで1列で表示したい。
Visual Basic(VBA)
-
16
Excel:文字との間に数字の組合せ、次のセルの数字を1ずつ増やすには?
Excel(エクセル)
-
17
マクロVBAについてご教授いただけましたらと存じます。
Visual Basic(VBA)
-
18
エクセル VBAでの転記の方法について
Visual Basic(VBA)
-
19
エクセルで有効桁数を確認する方法
Excel(エクセル)
-
20
Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのマクロでチェックボックス...
-
Vba SelStart、SelLen教えてく...
-
【VBA】マクロの入ったファイル...
-
現在のブックを閉じないで、マ...
-
ユーザーフォームに別シートか...
-
A列に記載されているフォルダ...
-
VBA 別ブックからコピペしたい...
-
VBA 複数条件の分岐処理の上手...
-
VBAに詳しい方教えてください。
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
Outlookの「受信日時」「件名」...
-
VBA listBoxから
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ExcelのVBAコードについて教え...
-
エクセルのマクロについて教え...
-
Outlookの「受信日時」「送信者...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
Outlookの「受信日時」「送信者...
-
TCP/IP のパケットの分断と結合...
-
シリアル通信時のデータ受信方法
-
UDP受信時の通信異常検知について
-
RS232cを用いた送信プログラム
-
C#にてCTI。RS232Cの受信と送信...
-
VC++メッセージの送受信につい...
-
DHCPOFFERの受信について
-
TCPのプログラミングで質問…と...
-
ネットワークでの受信バイト数
-
パケット受信 recvfrom( )につ...
-
ASP.NET C#でPOST受信
-
recv関数の戻り値について
-
TCPでパケットロス?
-
PC98で232c送信winndowで受信で...
-
VB2005でTCP/IPソケット通信で...
-
「TCPは全二重可能」の意味
-
vb2005でUDP受信時にフォームが...
-
VBのMSCommコントロールを使っ...
おすすめ情報