フラグが立てられたすべての電子メールのリストをOutlookメールボックスからExcelにエクスポートする場合は、この記事で共有されている2つの方法のいずれかを使用できます。
たとえば、フラグが立てられたすべての電子メールをよりタイムリーに処理したり、他の人と共有したりするために、Excelワークシートにエクスポートすることをお勧めします。 ここでは、それを実現するための2つのアプローチを紹介します。 前者は、フラグが立てられた電子メールを見つけた後、標準の「インポートとエクスポート」機能を使用します。 正直なところ、少し面倒です。 したがって、後者では、VBAを適用するより便利な方法を説明します。

方法1:見つかったすべてのフラグ付きメールを手動でエクスポートする
- まず、メールリストの上にある検索ボックスをクリックします。
- 次に、「検索」タブの「スコープ」グループの「すべてのメールアイテム」をクリックします。
- 次に、「定義」グループの「フラグ付き」ボタンをクリックします。
- リストに表示されたすべてのフラグ付きメールの後で、XNUMXつのメールを選択し、「Ctrl + A」を押してすべてを選択します。
- 次に、「Ctrl + Shift + V」キーのショートカットを押します。
- 新しいダイアログボックスで、Outlookファイルの下に新しいフォルダを作成します。
- 後で、新しく作成したフォルダを選択し、[OK]をクリックします。これにより、見つかったすべてのフラグ付きメールが新しいフォルダに移動します。
- その後、「ファイル」>「開く」>「インポート」をクリックし、
- ポップアップダイアログボックスで、[ファイルにエクスポート]> [次へ]> [Microsoft Excel97-2003]> [次へ]を選択します。
- 新しい画面で、正しいフォルダを選択し、「次へ」をクリックします。
- 続いて、ウィザードに従って「エクスポート」を完了します。
- 次のスクリーンショットに示すように、新しいExcelファイルを取得します。
方法2:フラグが立てられたすべての電子メールのリストをVBA経由でエクスポートする
- Outlookで、「Alt + F11」を押してVBAエディターをトリガーします。
- 次に、「MSExcelオブジェクト」を「オブジェクトライブラリを追加する方法raryVBAでの参照"
- 次に、以下のVBAコードをモジュールにコピーします。
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Sub ExportAllFlaggedEmailsToExcel()
Dim objOutlookFile As Outlook.Folder
Dim objFolder As Outlook.Folder
'Select a source PST file
Set objOutlookFile = Outlook.Application.Session.PickFolder
If Not (objOutlookFile Is Nothing) Then
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelApp.Visible = True
With objExcelWorksheet
.Cells(1, 1) = "Subject"
.Cells(1, 1).Font.Bold = True
.Cells(1, 2) = "Start Date"
.Cells(1, 2).Font.Bold = True
.Cells(1, 3) = "Due Date"
.Cells(1, 3).Font.Bold = True
.Cells(1, 4) = "From"
.Cells(1, 4).Font.Bold = True
.Cells(1, 5) = "To"
.Cells(1, 5).Font.Bold = True
End With
For Each objFolder In objOutlookFile.Folders
If objFolder.DefaultItemType = olMailItem Then
Call ProcessMailFolders(objFolder)
End If
Next
objExcelWorksheet.Columns("A:E").AutoFit
MsgBox "Completed!", vbInformation + vbOKOnly, "Export Emails"
End If
End Sub
Sub ProcessMailFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim i As Long
Dim objMail As Outlook.MailItem
Dim objFlaggedMail As Outlook.MailItem
Dim nLastRow As Integer
Dim objSubfolder As Outlook.Folder
For i = 1 To objCurrentFolder.Items.Count
If objCurrentFolder.Items(i).Class = olMail Then
'Export the information of each flagged email to Excel
Set objMail = objCurrentFolder.Items(i)
If objMail.IsMarkedAsTask = True And objMail.FlagStatus <> olFlagComplete Then
Set objFlaggedMail = objMail
With objExcelWorksheet
nLastRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Range("A" & nLastRow) = objFlaggedMail.Subject
.Range("B" & nLastRow) = objFlaggedMail.TaskStartDate
.Range("C" & nLastRow) = objFlaggedMail.TaskDueDate
.Range("D" & nLastRow) = objFlaggedMail.SenderName
.Range("E" & nLastRow) = objFlaggedMail.To
End With
End If
End If
Next i
If objCurrentFolder.Folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.Folders
Call ProcessMailFolders(objSubfolder)
Next
End If
End Sub
- 最後に、「ExportAllFlaggedEmailsToExcel」サブルーチンにカーソルを置き、「F5」キーボタンを押します。
- 次に、新しいダイアログボックスでOutlookファイルを選択します。
- 「完了」プロンプトが表示されると、次の画像のような新しいExcelファイルも取得されます。
Outlookを破損から保護する
Outlookはエラーや破損が発生しやすいため、Outlookデータを保護することは非常に困難な作業です。 間違いなく、most 効果的かつ実用的な方法は、Outlookの定期的なデータバックアップを作成することです。 それに加えて、次のような強力で信頼できるOutlook修正ツールを入手する必要もあります。 DataNumen Outlook Repair。 便利になります 受信トレイ修復ツール 効果はありません。
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 修正します SQL Server と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com








