![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
マクロについて質問です。 セルの内容をクリアするコマンドボタン(AX) を作成しました。 指定範囲が
Visual Basic(VBA)
-
-
4
エクセルVBAの配列について
Visual Basic(VBA)
-
5
Excel マクロについて
Visual Basic(VBA)
-
6
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
7
引数に数値、文字列の混在
Visual Basic(VBA)
-
8
Cellsのコードが打てません
Visual Basic(VBA)
-
9
VBA エクセルで1列で表示したい。
Visual Basic(VBA)
-
10
VBA
Visual Basic(VBA)
-
11
VBA ファイル名取得
Visual Basic(VBA)
-
12
エクセルファイルのデータ転記について
Visual Basic(VBA)
-
13
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
14
Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。
Visual Basic(VBA)
-
15
エクセルで有効桁数を確認する方法
Excel(エクセル)
-
16
エクセルで条件書式と数式の組み合わせはできる?
Excel(エクセル)
-
17
特定文字を入ってるCSVの特定の列を特定のexcelシートに取り込みたいです
Visual Basic(VBA)
-
18
会社のPCに入っているExcelでバーコードを作ろうと思い、「開発」→「挿入」→「コントロールの選択
その他(Microsoft Office)
-
19
VBA コード
Visual Basic(VBA)
-
20
エクセルで、複数のマスに構文を一度に入力する方法を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excxel vba でYahoo API で住所...
-
MTUで!!
-
RS232cを用いた送信プログラム
-
VB2010で、シリアル通信の方法...
-
シリアル通信時のデータ受信方法
-
TCPでパケットロス?
-
Outlookの「受信日時」「件名」...
-
CRC-CCITTに関しての仕様とサン...
-
Winsockを利用した単純なファイ...
-
mbedとVC++2008 C++/CLIとの通信
-
recv関数の戻り値について
-
(VC++)シリアル通信について
-
msgrcv( )で領域破壊?
-
プログラムの実行時間計測方法...
-
パソコンに詳しい方教えて下さ...
-
バッチファイルでディレクトリ...
-
Windows上のファイル操作の履歴...
-
拡張子を変えると・・・
-
jarファイルが開けない
-
index.dat SYSMAST.cbkとは何で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
シリアル通信時のデータ受信方法
-
TCP/IP のパケットの分断と結合...
-
UDP受信時の通信異常検知について
-
Outlookの「受信日時」「送信者...
-
RS232cを用いた送信プログラム
-
DHCPOFFERの受信について
-
Excxel vba でYahoo API で住所...
-
CRC-CCITTに関しての仕様とサン...
-
recv関数の戻り値について
-
遅延確認応答について教えてく...
-
VC++ 2010 メッセージが文字化...
-
ネットワークでの受信バイト数
-
「TCPは全二重可能」の意味
-
VB2010で、シリアル通信の方法...
-
TCPでパケットロス?
-
赤外線センサーについて
-
C#にてCTI。RS232Cの受信と送信...
-
PC98で232c送信winndowで受信で...
-
パケット受信 recvfrom( )につ...
おすすめ情報