【问题标题】:Import Data from Microsoft Outlook to Microsoft Excel [closed]将数据从 Microsoft Outlook 导入 Microsoft Excel [关闭]
【发布时间】:2017-04-18 21:03:07
【问题描述】:

谁能告诉我如何使用 Excel VBA 将 Microsoft Outlook 与 Microsoft Excel 链接起来,以便过滤具有特定主题的邮件,然后在该邮件中将特定数据导入到特定的 Excel 单元格中。

【问题讨论】:

    标签: excel vba filter outlook


    【解决方案1】:

    这是我过去使用过的代码。您需要更新一些内容,例如工作表名称和 Outlook 文件夹。请通读代码并尝试弄清楚它在做什么。

    Sub PullOutlookData()
    
    Application.ScreenUpdating = False
    
    Dim olApp As Outlook.Application, olNs As Outlook.Namespace
    Dim olItems As Outlook.Items
    Dim olItem As Outlook.MailItem
    Dim ws As Worksheet 
    Dim lrow As Long 
    Set olApp = New Outlook.Application
    Set olNs = olApp.GetNamespace("MAPI")
    
    
    Set ws = ThisWorkbook.Sheets("Complex") '<--- change to relevant worksheet
    Set olItems = olNs.Folders("steven.walker@myemail.com").Folders("Inbox").Folders("Travel").Items '<---CHANGE TO RELEVANT FOLDER
    rCount = 1
    
    For Each olItem In olItems
        rCount = rCount + 1
        ws.Range("A" & rCount).Value = olItem.SenderName
        ws.Range("B" & rCount).Value = olItem.Subject
        ws.Range("C" & rCount).Value = olItem.Body
        ws.Range("D" & rCount).Value = olItem.ReceivedTime
    Next olItem
    ws.UsedRange.WrapText = False
    
    
    Application.ScreenUpdating = True
    End Sub
    

    【讨论】:

    • 但我认为它不适用于实时系统,就像我的办公室前景一样,我收到大约。 250 封邮件/小时,大部分都没用,因此我想过滤我使用的特定主题邮件,然后从中导入特定数据。
    • 考虑设置一个 Outlook 规则,将您要查找的过滤电子邮件推送到特定文件夹中,然后根据主题中的内容经常使用 Excel 中的上述内容。或者,您应该对执行类似于上述操作的 Outlook 宏进行一些研究,并将其附加到新邮件事件(我认为 Outlook 有一个),以便在收到新邮件时触发它。执行 if/case 语句以仅在与您要查找的内容匹配的电子邮件上运行代码。安全限制阻止我使用 Outlook VBA(我不使用它),所以无法进一步帮助,抱歉。
    • 这是一篇关于使用 Outlook 规则的文章。对于您的需要,规则可能比 VBA 更有效。
    • 谢谢兄弟的帮助!我今天会试试看。
    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 2016-04-05
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多