Skip to main content

如何根據類別在 Outlook 中列印任務?

Author: Xiaoyang Last Modified: 2025-05-12

假設您的 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 窗口中點擊「工具」>「引用」,在彈出的「References-Project1」對話框中,勾選「可用引用」列表框中的「Microsoft Excel Object Library」「Microsoft Scripting Runtime」選項,參見截圖:

doc print tasks by category 4

5. 然後,點擊「確定」按鈕,現在按 F5 鍵運行程式碼,完成程式碼後,不同類別的任務清單將在不同頁面上列印出來。

Outlook中的AI郵件助理:更聰明的回覆,更清晰的溝通(一鍵奇蹟!) 免費

使用Kutools for Outlook的AI郵件助理簡化您的日常Outlook任務。這個強大的工具會從您過去的郵件中學習,提供智能且準確的答覆,優化您的郵件內容,並幫助您輕鬆起草和潤色郵件。
doc ai email handle

此功能支援:

  • 智能回覆:根據您過去的對話獲得量身定制、精確且隨時可用的回覆。
  • 增強內容:自動優化您的郵件文字以提高清晰度和影響力。
  • 輕鬆撰寫:只需提供關鍵字,讓AI處理其餘部分,並有多種寫作風格可供選擇。
  • 智能擴展:通過上下文感知建議來拓展您的思路。
  • 摘要生成:即時獲取長郵件的簡潔概述。
  • 全球觸及:輕鬆將您的郵件翻譯成任何語言。

此功能支援:

  • 智能郵件回覆
  • 優化的內容
  • 基於關鍵字的草稿
  • 智能內容擴展
  • 郵件摘要生成
  • 多語言翻譯

最重要的是,此功能永遠完全免費不要再等待了——立即下載AI郵件助理並享受吧