如果您已经为您的 Outlook 任务分配了不同的颜色类别,现在想要在不同的页面打印不同类别的任务列表,您可以参考这篇文章。 在这里,我们将与您分享2种获取方法。
为了对您的任务进行分类和管理,您可能已将颜色分类应用到您的任务中。 现在,如果您想在不同页面打印出不同类别的任务列表,请继续阅读。 下面为大家介绍2种获取方式。
方法一:手动逐一打印任务列表
- 首先,在 Outlook 中,访问“任务”窗格。
- 然后,打开任务文件夹。
- 接下来,按“Ctrl + E”激活“搜索”功能区。
- 之后,在“搜索”选项卡上,单击“分类”按钮。
- 从下拉列表中选择颜色类别。

- 然后,只有具有所选类别的任务将留在列表中。
- 现在,转到“文件”>“打印”以打印出此任务列表。
- 随后,以同样的方式,将其他颜色类别的任务列表逐一打印出来。
方法二:通过VBA批量打印任务列表
- 一开始,按照“触发VBA编辑器如何在 Outlook 中运行 VBA 代码“。
- 然后,添加对“MS Excel Object Library” 根据 “如何添加对象库rary VBA 中的引用“。
- 接下来,将以下 VBA 代码复制到模块中。
Sub PrintTaskList_SpecificColorCategory()
Dim objTasks As Outlook.Items
Dim objTask As Outlook.TaskItem
Dim objDictionary As Object
Dim arrCategory As Variant
Dim varCategory As Variant
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim varKey As Variant
Dim strKey As String
Dim i As Long
Dim bSheetFound As Boolean
Dim nLastRow As Integer
Dim objSheet As Excel.Worksheet
Set objTasks = Application.Session.GetDefaultFolder(olFolderTasks).Items
Set objDictionary = CreateObject("Scripting.Dictionary")
'Get All Tasks' Categories
For Each objTask In objTasks
arrCategory = Split(objTask.Categories, ",")
For Each varCategory In arrCategory
If objDictionary.Exists(Trim(varCategory)) = False Then
objDictionary.Add Trim(varCategory), 0
End If
Next
Next
'Export the Tasks with Different Categories into Different Sheet in an Excel Workbook
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
objExcelApp.Visible = True
i = 0
For Each varKey In objDictionary.Keys
strKey = CStr(varKey)
On Error Resume Next
objExcelWorkbook.Sheets(strKey).Select
bSheetFound = (Err = 0)
On Error GoTo 0
If bSheetFound = False Then
i = i + 1
If i < 4 Then
Set objExcelWorksheet = objExcelWorkbook.Sheets(i)
Else
Set objExcelWorksheet = objExcelWorkbook.Sheets.Add(After:=objExcelWorkbook.Sheets(objExcelWorkbook.Sheets.Count))
End If
objExcelWorksheet.Name = strKey
End If
With objExcelWorksheet
.Cells(1, 1) = strKey
.Cells(1, 1).Font.Bold = True
.Cells(1, 1).Font.Size = 18
.Cells(2, 1) = "Subject"
.Cells(2, 1).Font.Bold = True
.Cells(2, 2) = "Start Date"
.Cells(2, 2).Font.Bold = True
.Cells(2, 3) = "Due Date"
.Cells(2, 3).Font.Bold = True
End With
For Each objTask In objTasks
If InStr(objTask.Categories, strKey) > 0 Then
nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
With objExcelWorksheet
.Range("A" & nLastRow) = objTask.Subject
.Range("B" & nLastRow) = objTask.startDate
.Range("C" & nLastRow) = objTask.DueDate
End With
End If
Next
objExcelWorksheet.Columns("A:C").AutoFit
Next
'Print out All Sheets in this Excel Workbook
For Each objSheet In objExcelWorkbook.Sheets
objSheet.PrintOut
Next
objExcelWorkbook.Close False
objExcelApp.Quit
End Sub
- 然后,按“F5”键按钮立即运行该宏。
- 当宏完成时,不同类别的任务列表将打印在不同的页面中,如下面的屏幕截图所示。
从受损的 PST 文件中取回有价值的数据
如果您遇到无法访问的 PST 文件,下一步无疑是 PST修复. 遇到这种情况,您可以先试试收件箱修复工具。 如果失败,您可以继续尝试其他外部工具,例如 DataNumen Outlook Repair. 它能够快速恢复 PST 数据。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 mdf 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com



