如何在Outlook中基于类别打印任务?
假设您的Outlook任务中有多种颜色类别,现在,您希望基于不同页面中的类别打印任务列表。 您如何在Outlook中解决这项工作?
手动一张一张地打印不同页面中基于类别的任务
在Outlook中,您可以在不同页面中逐一手动打印基于不同类别的任务,方法如下:
1。 启动Outlook,然后转到“任务”窗格并选择要打印的任务文件夹,然后按 按Ctrl + E 激活 搜索 框,然后在 搜索 标签,点击 分类 图标,然后选择您需要打印的一种颜色类别,请参见屏幕截图:
2。 然后,列出具有特定颜色类别的所有任务,请参见屏幕截图:
3。 然后,继续点击 文件 > 打印 如下图所示打印此任务列表:
4.重复上述步骤,以手动方式逐一打印出具有其他颜色类别的任务列表。
使用VBA代码根据不同页面中的类别打印任务
这是一个VBA代码,可以帮助您基于不同页面中的类别一次打印任务,请执行以下步骤:
1。 去的 任务 窗格,然后选择要打印的任务文件夹。
2。 然后,按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。
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应用程序 窗口,弹出 参考-Project1 对话框,检查 Microsoft Excel对象库 和 Microsoft脚本运行时 来自的选项 可用参考 列表框,请参见屏幕截图:
5。 然后,单击 OK 按钮,现在,按 F5 键以运行此代码,完成代码后,具有不同类别的任务列表将被打印在不同的页面上。
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。