【问题标题】:How can I transport emails from outlook to specific folders by topic with a VBA code?如何使用 VBA 代码按主题将电子邮件从 Outlook 传输到特定文件夹?
【发布时间】:2016-12-13 12:36:04
【问题描述】:

我在 Excel 中有 2 列。第一列是电子邮件的主题,第二列是具有特定主题的电子邮件必须移动到的文件夹。比如这两列:

Subject Folder
 A        1
 B        2
 C        3

所以当我收到一封主题为“A”的电子邮件时,它必须移动到文件夹 1。所以我的问题是如何制作代码以在 excel 表中搜索邮件必须移动到哪个文件夹(我只需要这部分代码)。

我在互联网上找不到任何关于它的信息。

【问题讨论】:

  • 您只想读取单元格的内容吗?您是否还需要代码来连接到电子邮件服务器并移动电子邮件?你试过什么?首先要做的是录制一个宏,然后看看 ir 生成的 VBA 代码
  • 当我收到一封包含特定主题的电子邮件时,我希望 vba 在我的 Excel 工作表中查看他必须在哪个特定文件夹中移动具有该主题的邮件。
  • 您是否考虑过在 Outlook 中创建规则?每次邮件到达时,您都不太可能让您的电子邮件客户端查看电子表格

标签: vba excel email outlook


【解决方案1】:

参见How to move each emails from inbox to a sub-folder 上的示例

现在循环遍历 2 列,请参见下面的示例

Dim ItemSubject As String
Dim SubFldr As String

i = 2 '  i = Row 2

With Worksheets("Sheet1") ' Sheet Name
   Do Until IsEmpty(.Cells(i, 1))

   ItemSubject = .Cells(i, 1).Value '(i, 1) = (Row2,Column1) = A2 Value = Subject
   SubFldr = .Cells(i, 2).Value '(i, 2) = (Row 2, Column 2) = B2 Value = FolderName

        '// Loop through Inbox Items backwards
        For lngCount = Items.Count To 1 Step -1
            Set Item = Items.Item(lngCount)

                If Item.Subject = ItemSubject Then ' if Subject found then
                    Set SubFolder = Inbox.Folders(SubFldr) ' Set SubFolder
                    Item.Move SubFolder ' Move to SubFldr
                End If

            End If
        Next ' exit loop

        i = i + 1 '  = Row 2 + 1 = Row 3
   Loop ' now loop on Row 3
End With

【讨论】:

猜你喜欢
  • 2016-08-03
  • 2023-02-23
  • 2023-03-18
  • 2019-05-20
  • 2019-12-24
  • 2016-02-05
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多