You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无第三方工具权限下,如何将Outlook邮件内容提取至Excel

无需第三方工具提取Outlook邮件内容到Excel

针对你需要提取统一结构邮件内容到Excel的需求,以下两种Outlook内置方案可以实现:

方法1:导出后用Excel文本函数拆分(适合非代码用户)

  1. 打开Outlook,定位到目标邮件文件夹
  2. 点击顶部「文件」>「打开和导出」>「导入/导出」
  3. 在向导中选择「导出到文件」→「Microsoft Excel」,选中目标文件夹后完成导出
  4. 打开导出的Excel文件,正文内容会集中在某一列(比如B列),用以下函数提取指定Topic内容:
    • 提取Topic 1内容(假设分隔符为「、」):
      =MID(B2,FIND("Topic 1 ",B2)+LEN("Topic 1 "),FIND("、",B2,FIND("Topic 1 ",B2))-FIND("Topic 1 ",B2)-LEN("Topic 1 "))
      
    • 提取Topic 2内容(假设分隔符为换行):
      =MID(B2,FIND("Topic 2 ",B2)+LEN("Topic 2 "),FIND(CHAR(10),B2,FIND("Topic 2 ",B2))-FIND("Topic 2 ",B2)-LEN("Topic 2 "))
      
    • 根据你的邮件实际格式调整分隔符(如逗号、分号等)

方法2:Outlook VBA宏精准提取(推荐批量处理)

这种方法可以直接遍历邮件并提取指定Topic内容,无需手动拆分:

  1. 打开Outlook,按Alt + F11打开VBA编辑器
  2. 右键左侧「Project1」→「插入」→「模块」,粘贴以下代码:
    Sub ExtractEmailsToExcel()
        Dim olApp As Outlook.Application
        Dim olFolder As Outlook.MAPIFolder
        Dim olMail As Outlook.MailItem
        Dim xlApp As Object
        Dim xlWorkbook As Object
        Dim xlWorksheet As Object
        Dim rowNum As Integer
        Dim topic1Text As String, topic2Text As String
        
        ' 替换为你的目标Outlook文件夹名称
        Set olApp = New Outlook.Application
        Set olFolder = olApp.Session.GetDefaultFolder(olFolderInbox).Folders("目标文件夹")
        
        ' 创建Excel工作簿并设置表头
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = True
        Set xlWorkbook = xlApp.Workbooks.Add
        Set xlWorksheet = xlWorkbook.Sheets(1)
        xlWorksheet.Cells(1, 1).Value = "邮件主题"
        xlWorksheet.Cells(1, 2).Value = "Topic 1"
        xlWorksheet.Cells(1, 3).Value = "Topic 2"
        rowNum = 2
        
        ' 遍历所有邮件提取内容
        For Each olMail In olFolder.Items
            xlWorksheet.Cells(rowNum, 1).Value = olMail.Subject
            ' 提取Topic 1(根据实际格式调整分隔符)
            topic1Text = ExtractBetween(olMail.Body, "Topic 1 ", "、")
            xlWorksheet.Cells(rowNum, 2).Value = topic1Text
            ' 提取Topic 2(根据实际格式调整分隔符)
            topic2Text = ExtractBetween(olMail.Body, "Topic 2 ", vbCrLf)
            xlWorksheet.Cells(rowNum, 3).Value = topic2Text
            rowNum = rowNum + 1
        Next olMail
        
        xlWorksheet.Columns.AutoFit
        ' 释放对象
        Set olMail = Nothing: Set olFolder = Nothing: Set olApp = Nothing
        Set xlWorksheet = Nothing: Set xlWorkbook = Nothing: Set xlApp = Nothing
    End Sub
    
    ' 辅助函数:提取两个字符串之间的内容
    Function ExtractBetween(strSource As String, strStart As String, strEnd As String) As String
        Dim startPos As Integer, endPos As Integer
        startPos = InStr(strSource, strStart)
        If startPos > 0 Then
            startPos = startPos + Len(strStart)
            endPos = InStr(startPos, strSource, strEnd)
            If endPos > startPos Then ExtractBetween = Mid(strSource, startPos, endPos - startPos)
        End If
    End Function
    
  3. 修改代码中的"目标文件夹"为你实际的文件夹名称
  4. 根据邮件里Topic的分隔符,调整ExtractBetween函数的第三个参数(比如把"、"改成","或vbCrLf)
  5. 按F5运行宏,Excel会自动生成整理好的表格

注意事项

  • 运行宏前,需在Outlook「文件」>「选项」>「信任中心」>「信任中心设置」>「宏设置」中临时启用所有宏,完成后建议改回默认安全设置
  • 如果邮件包含HTML格式,可将代码中的olMail.Body替换为olMail.HTMLBody,并调整分隔符匹配HTML结构

内容的提问来源于stack exchange,提问作者MrSecanevasse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:59:55