如何根据类别在Outlook中打印任务?
假设您的Outlook任务中有各种颜色类别,现在您希望根据不同类别的任务列表分别打印到不同的页面上。那么,在Outlook中该如何解决这个问题呢?
逐一手动打印基于不同类别的任务
在Outlook中,您可以手动逐一打印基于不同类别的任务到不同的页面,请按照以下步骤操作:
1. 启动Outlook,进入任务窗格并选择要打印的任务文件夹,然后按 Ctrl + E 激活 搜索框,并在“搜索”选项卡下点击“添加类别”图标,选择需要打印的颜色类别,如下截图所示:
2. 然后,所有具有特定颜色类别的任务会立即列出,如下截图所示:
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 脚本运行时 选项,如下截图所示:
5. 然后,点击“确定”按钮,现在按 F5 键运行此代码,代码执行完成后,不同类别的任务列表将被打印在不同的页面上。
Outlook中的AI邮件助手:更智能的回复,更清晰的沟通(一键搞定!) 免费
使用Kutools for Outlook的AI邮件助手简化您的日常Outlook任务。这一强大工具会从您过去的邮件中学习,提供智能化且精准的回复建议,优化您的邮件内容,并帮助您轻松起草和润色邮件。

该功能支持:
- 智能回复:根据您以往的对话生成量身定制、精准且即用的回复。
- 增强内容:自动优化您的邮件文本,使其更加清晰且有影响力。
- 轻松撰写:只需提供关键字,AI即可完成其余工作,并支持多种写作风格。
- 智能扩展:通过上下文感知的建议扩展您的思路。
- 总结概括:快速获取长邮件的简洁概述。
- 全球覆盖:轻松将您的邮件翻译成任何语言。
该功能支持:
- 智能邮件回复
- 优化后的内容
- 基于关键字的草稿
- 智能内容扩展
- 邮件总结
- 多语言翻译
最重要的是,此功能永久完全免费!不要再犹豫了——立即下载AI邮件助手并体验吧
最佳办公生产力工具
重磅消息:Kutools for Outlook 推出免费版本!
体验全新 Kutools for Outlook 免费版本,拥有 70 多项令人惊叹的功能,永久免费使用!立即点击下载!
🤖 Kutools AI :利用先进的人工智能技术轻松处理电子邮件,包括回复、总结、优化、扩展、翻译和撰写邮件。
📧 邮件自动化:自动答复(支持 POP 和 IMAP) / 定时发送邮件 / 按规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人邮件拆分为单独消息 ...
📨 邮件管理:撤回邮件 / 按主题和其他条件阻止垃圾邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...
📁 附件增强功能:批量保存 / 批量拆离 / 批量压缩 / 自动保存 / 自动拆离 / 自动压缩 ...
🌟 界面魔法:😊更多漂亮酷炫的表情符号 / 当重要邮件到达时提醒您 / 最小化 Outlook 而不是关闭 ...
👍 一键奇效:带附件回复所有人 / 反钓鱼邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 联系人和日历:从选定的邮件中批量添加联系人 / 将联系人组拆分为单独的组 / 移除生日提醒 ...
单击即可立即解锁 Kutools for Outlook。不要再等待,现在就下载并提升您的效率!

