跳至主要内容

如何根据类别在Outlook中打印任务?

Author: Xiaoyang Last Modified: 2025-05-07

假设您的Outlook任务中有各种颜色类别,现在您希望根据不同类别的任务列表分别打印到不同的页面上。那么,在Outlook中该如何解决这个问题呢?

逐一手动打印基于不同类别的任务

使用VBA代码在不同页面打印基于类别的任务


逐一手动打印基于不同类别的任务

在Outlook中,您可以手动逐一打印基于不同类别的任务到不同的页面,请按照以下步骤操作:

1. 启动Outlook,进入任务窗格并选择要打印的任务文件夹,然后按 Ctrl + E 激活 搜索框,并在“搜索”选项卡下点击“添加类别”图标,选择需要打印的颜色类别,如下截图所示:

doc print tasks by category 1

2. 然后,所有具有特定颜色类别的任务会立即列出,如下截图所示:

doc print tasks by category 2

3. 接下来,继续点击 文件 > 打印 以打印此任务列表,如下截图所示:

doc print tasks by category 3

4. 重复上述步骤,逐一手动打印其他颜色类别的任务列表。


使用VBA代码在不同页面打印基于类别的任务

这里有一个VBA代码可以帮助您一次性在不同页面打印基于类别的任务,请按照以下步骤操作:

1. 进入任务窗格并选择要打印的任务文件夹。

2. 然后,按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

3. 接着,点击 插入 > 模块,将以下代码复制并粘贴到打开的空白模块中:

VBA代码:在不同页面打印基于类别的任务:

Sub PrintTaskList_SpecificColorCategory()
    Dim xTaskItems As Outlook.Items
    Dim xTask As Outlook.TaskItem
    Dim xDictionary As Scripting.Dictionary
    Dim xCategoryArr As Variant, xCategory As Variant
    Dim xExcelApp As Excel.Application
    Dim xExcelWorkbook As Excel.Workbook
    Dim xExcelWorksheet As Excel.Worksheet
    Dim xSheet As Excel.Worksheet
    Dim xKey As Variant
    Dim xKeyStr As String
    Dim i As Long, xLastRow As Integer
    On Error Resume Next
    If Application.ActiveExplorer.CurrentFolder.DefaultItemType <> olTaskItem Then Exit Sub
    Set xTaskItems = Application.ActiveExplorer.CurrentFolder.Items
    Set xDictionary = New Scripting.Dictionary
    For Each xTask In xTaskItems
        xCategoryArr = Split(xTask.Categories, ",")
        For Each xCategory In xCategoryArr
            If xDictionary.Exists(Trim(xCategory)) = False Then
               xDictionary.Add Trim(xCategory), 0
            End If
        Next
    Next
    If xDictionary.Count = 0 Then
        MsgBox "The current Task doesn’t have any category", vbOKOnly + vbInformation, "Kutools for Outlook"
        Exit Sub
    End If
    Set xExcelApp = New Excel.Application
    Set xExcelWorkbook = xExcelApp.Workbooks.Add
    xExcelApp.Visible = True
    i = 0
    If xDictionary.Count > xExcelWorkbook.Sheets.Count Then
        xExcelWorkbook.Sheets.Add Count:=xDictionary.Count - xExcelWorkbook.Sheets.Count
    End If
    For Each xKey In xDictionary.Keys
        xKeyStr = CStr(xKey)
        i = i + 1
        Set xExcelWorksheet = xExcelWorkbook.Sheets(i)
        xExcelWorksheet.Name = xKeyStr
        With xExcelWorksheet
             .Range("A1") = xKeyStr
             .Range("A1").Font.Bold = True
             .Range("A1").Font.Size = 18
             .Range("A1", "C1").HorizontalAlignment = xlCenter
             .Range("A1", "C1").VerticalAlignment = xlCenter
             .Range("A1", "C1").Merge
             .Range("A2") = "Subject"
             .Range("A2").Font.Bold = True
             .Range("B2") = "Start Date"
             .Range("B2").Font.Bold = True
             .Range("C2") = "Due Date"
             .Range("C2").Font.Bold = True
        End With
        For Each xTask In xTaskItems
            If InStr(xTask.Categories, xKeyStr) > 0 Then
               xLastRow = xExcelWorksheet.UsedRange.Rows.Count + 1
               With xExcelWorksheet
                    .Range("A" & xLastRow) = xTask.Subject
                    .Range("B" & xLastRow) = xTask.StartDate
                    .Range("C" & xLastRow) = xTask.DueDate
               End With
            End If
        Next
        xExcelWorksheet.Columns("A:C").AutoFit
    Next
    For Each xSheet In xExcelWorkbook.Sheets
        xSheet.PrintOut
    Next
    xExcelWorkbook.Close False
    xExcelApp.Quit
End Sub

4. 然后在 Microsoft Visual Basic for Applications 窗口中点击 工具 > 引用,在弹出的“引用 - Project1”对话框中,从可用引用列表框中勾选 Microsoft Excel 对象库 和 Microsoft 脚本运行时 选项,如下截图所示:

doc print tasks by category 4

5. 然后,点击“确定”按钮,现在按 F5 键运行此代码,代码执行完成后,不同类别的任务列表将被打印在不同的页面上。

Outlook中的AI邮件助手:更智能的回复,更清晰的沟通(一键搞定!) 免费

使用Kutools for Outlook的AI邮件助手简化您的日常Outlook任务。这一强大工具会从您过去的邮件中学习,提供智能化且精准的回复建议,优化您的邮件内容,并帮助您轻松起草和润色邮件。
doc ai email handle

该功能支持:

  • 智能回复:根据您以往的对话生成量身定制、精准且即用的回复。
  • 增强内容:自动优化您的邮件文本,使其更加清晰且有影响力。
  • 轻松撰写:只需提供关键字,AI即可完成其余工作,并支持多种写作风格。
  • 智能扩展:通过上下文感知的建议扩展您的思路。
  • 总结概括:快速获取长邮件的简洁概述。
  • 全球覆盖:轻松将您的邮件翻译成任何语言。

该功能支持:

  • 智能邮件回复
  • 优化后的内容
  • 基于关键字的草稿
  • 智能内容扩展
  • 邮件总结
  • 多语言翻译

最重要的是,此功能永久完全免费不要再犹豫了——立即下载AI邮件助手并体验吧