2种方法在不同页面打印不同类别的Outlook任务列表

立即分享:

如果您已经为您的 Outlook 任务分配了不同的颜色类别,现在想要在不同的页面打印不同类别的任务列表,您可以参考这篇文章。 在这里,我们将与您分享2种获取方法。

为了对您的任务进行分类和管理,您可能已将颜色分类应用到您的任务中。 现在,如果您想在不同页面打印出不同类别的任务列表,请继续阅读。 下面为大家介绍2种获取方式。

方法一:手动逐一打印任务列表

  1. 首先,在 Outlook 中,访问“任务”窗格。
  2. 然后,打开任务文件夹。
  3. 接下来,按“Ctrl + E”激活“搜索”功能区。
  4. 之后,在“搜索”选项卡上,单击“分类”按钮。
  5. 从下拉列表中选择颜色类别。按类别搜索
  6. 然后,只有具有所选类别的任务将留在列表中。仅保留具有特定颜色类别的任务
  7. 现在,转到“文件”>“打印”以打印出此任务列表。在列表中打印找到的任务
  8. 随后,以同样的方式,将其他颜色类别的任务列表逐一打印出来。

方法二:通过VBA批量打印任务列表

  1. 一开始,按照“触发VBA编辑器如何在 Outlook 中运行 VBA 代码“。
  2. 然后,添加对“MS Excel Object Library” 根据 “如何添加对象库rary VBA 中的引用“。
  3. 接下来,将以下 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

VBA代码——在不同页面打印不同类别的Outlook任务列表

  1. 然后,按“F5”键按钮立即运行该宏。
  2. 当宏完成时,不同类别的任务列表将打印在不同的页面中,如下面的屏幕截图所示。打印的任务列表

从受损的 PST 文件中取回有价值的数据

如果您遇到无法访问的 PST 文件,下一步无疑是 PST修复. 遇到这种情况,您可以先试试收件箱修复工具。 如果失败,您可以继续尝试其他外部工具,例如 DataNumen Outlook Repair. 它能够快速恢复 PST 数据。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 mdf 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。