一些用户渴望为 Excel 工作簿快速创建 Outlook 任务。 因此,在本文中,我们将介绍两种简单的获取方法。
有时,出于跟进或其他原因,您可能希望从 Excel 文件创建 Outlook 任务。 实际上,Microsoft Excel自带了一个“创建Microsoft Outlook任务”的功能,就像下面介绍的方法一。 但是,它只会将 Excel 工作簿附加到 Outlook 任务。 如果你想要快速复制所有工作表的所有内容到一个Outlook任务的主体,你可以使用方法1。 现在继续阅读以详细了解 2 方法。
方法 1:在 MS Excel 中使用“创建 Microsoft Outlook 任务”命令
- 首先,打开特定的 Excel 工作簿。
- 然后,单击快速访问工具栏中的向下箭头按钮。
- 接下来,从下拉列表中选择“更多命令”。
- 稍后,在新的“Excel 选项”窗口中,在“快速访问工具栏”选项卡上,将“创建 Microsoft Outlook 任务”命令添加到快速访问工具栏。
- 首先,从“从以下位置选择命令”列表中选择“不在功能区中的命令”。
- 然后,找到并选中“创建 Microsoft Outlook 任务”命令。
- 然后,单击中间的“添加>>”按钮。
- 最后,点击“确定”按钮。
- 最后,返回到 Excel 工作簿后,单击快速访问工具栏中的新建按钮。
- 立即,一个新的 Outlook 任务将显示,它已附加到当前 Excel 工作簿,如下图所示。
方法 2:通过 VBA 代码将 Excel 工作簿复制到 Outlook 任务的主体
- 首先,打开源 Excel 文件。
- 然后,按“Alt + F11”触发 Excel VBA 编辑器。
- 随后,启用“Microsoft Outlook 对象库rary”,可参考“如何添加对象库rary VBA 中的引用“。
- 之后,将下面的 VBA 代码放入模块或“ThisWorkbook”项目中。
Sub CreateOutlookTaskforExcelWorkbook()
Dim objOutlookApp As Outlook.Application
Dim objTask As Outlook.TaskItem
Dim objWorksheet As Excel.Worksheet
Dim objTempWorkbook As Excel.Workbook
Dim objTempWorksheet As Excel.Worksheet
Dim strTempFolder As String
Dim strHTMLFile As String
Dim objHTMLFile As Object
Dim objFileSystem As Object
Dim objTextStream As Object
Dim objTempMail As Outlook.MailItem
Set objOutlookApp = CreateObject("Outlook.Application")
Set objTask = objOutlookApp.CreateItem(oltaskitem)
objTask.Subject = ActiveWorkbook.Name
objTask.Display
For Each objWorksheet In ActiveWorkbook.Sheets
objWorksheet.UsedRange.Copy
Set objTempWorkbook = Excel.Application.Workbooks.Add(1)
Set objTempWorksheet = objTempWorkbook.Sheets(1)
With objTempWorksheet.Cells(1)
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteColumnWidths
.PasteSpecial xlPasteFormats
End With
strTempFolder = CStr(Environ("USERPROFILE")) & "\AppData\Local\Temp"
strHTMLFile = strTempFolder & "\Temp" & Format(Now, "yyyymmddhhmmss") & ".htm"
Set objHTMLFile = objTempWorkbook.PublishObjects.Add(xlSourceRange, strHTMLFile, objTempWorksheet.Name, objTempWorksheet.UsedRange.Address)
objHTMLFile.Publish (True)
Set objTempMail = objOutlookApp.CreateItem(olMailItem)
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFileSystem.OpenTextFile(strHTMLFile)
objTempMail.HTMLBody = objTextStream.ReadAll
objTempMail.Display
objTask.Body = objTask.Body & vbCr & "-----------------------" & vbCr & objTempMail.Body
objTextStream.Close
objTempWorkbook.Close False
Kill strHTMLFile
objTempMail.Close olDiscard
Next
End Sub
- 最后,按“F5”键按钮。
- 宏完成后,您将获得一个 Outlook 任务,其中包含正文中的 Excel 工作簿内容,如下面的屏幕截图所示。
从备份恢复 Outlook 数据
强烈建议定期备份您的计算机数据,当然包括您的 Outlook 数据文件。 这样,您就不必担心 Outlook 数据丢失。 即使您的 Outlook 文件损坏,您也可以轻松地从备份中检索数据。 但是,假设您没有进行数据备份,在这种情况下,您必须通过熟练的修复实用程序尝试 PST 恢复,例如 DataNumen Outlook Repair。 它可以 恢复 PST 没有出汗。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复中密度纤维板 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com




