为 Excel 工作簿快速创建 Outlook 任务的 2 种简单方法

立即分享:

一些用户渴望为 Excel 工作簿快速创建 Outlook 任务。 因此,在本文中,我们将介绍两种简单的获取方法。

有时,出于跟进或其他原因,您可能希望从 Excel 文件创建 Outlook 任务。 实际上,Microsoft Excel自带了一个“创建Microsoft Outlook任务”的功能,就像下面介绍的方法一。 但是,它只会将 Excel 工作簿附加到 Outlook 任务。 如果你想要快速复制所有工作表的所有内容到一个Outlook任务的主体,你可以使用方法1。 现在继续阅读以详细了解 2 方法。为 Excel 工作簿快速创建 Outlook 任务

方法 1:在 MS Excel 中使用“创建 Microsoft Outlook 任务”命令

  1. 首先,打开特定的 Excel 工作簿。
  2. 然后,单击快速访问工具栏中的向下箭头按钮。
  3. 接下来,从下拉列表中选择“更多命令”。更多命令
  4. 稍后,在新的“Excel 选项”窗口中,在“快速访问工具栏”选项卡上,将“创建 Microsoft Outlook 任务”命令添加到快速访问工具栏。
  • 首先,从“从以下位置选择命令”列表中选择“不在功能区中的命令”。
  • 然后,找到并选中“创建 Microsoft Outlook 任务”命令。
  • 然后,单击中间的“添加>>”按钮。
  • 最后,点击“确定”按钮。向 QAT 添加“创建 Microsoft Outlook 任务”命令
  1. 最后,返回到 Excel 工作簿后,单击快速访问工具栏中的新建按钮。
  2. 立即,一个新的 Outlook 任务将显示,它已附加到当前 Excel 工作簿,如下图所示。Excel 工作簿附带的新任务

方法 2:通过 VBA 代码将 Excel 工作簿复制到 Outlook 任务的主体

  1. 首先,打开源 Excel 文件。
  2. 然后,按“Alt + F11”触发 Excel VBA 编辑器。
  3. 随后,启用“Microsoft Outlook 对象库rary”,可参考“如何添加对象库rary VBA 中的引用“。
  4. 之后,将下面的 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

VBA 代码 - 将 Excel 工作簿复制到 Outlook 任务的正文

  1. 最后,按“F5”键按钮。
  2. 宏完成后,您将获得一个 Outlook 任务,其中包含正文中的 Excel 工作簿内容,如下面的屏幕截图所示。正文中包含 Excel 工作簿内容的新任务

从备份恢复 Outlook 数据

强烈建议定期备份您的计算机数据,当然包括您的 Outlook 数据文件。 这样,您就不必担心 Outlook 数据丢失。 即使您的 Outlook 文件损坏,您也可以轻松地从备份中检索数据。 但是,假设您没有进行数据备份,在这种情况下,您必须通过熟练的修复实用程序尝试 PST 恢复,例如 DataNumen Outlook Repair。 它可以 恢复 PST 没有出汗。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复中密度纤维板 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。