【问题标题】:How to save emails to a specific folder in drafts?如何将电子邮件保存到草稿中的特定文件夹?
【发布时间】:2021-07-14 21:12:50
【问题描述】:

我编写了 Excel VBA 代码来从下载到 Excel 的报告中生成电子邮件。它保存在 Outlook 中的“草稿”文件夹中。

我想将它们保存到草稿中的另一个文件夹中,以将它们与我的常规草稿分开。

这就是我所拥有的。

With objMail
    .To = rngTo
    .Subject = "Next 2 Weeks Orders"
    .HTMLBody = intro & vbNewLine & po & signiature
    .Save
End With

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    有多种方法可以在 Outlook 中创建新项目。如果您需要将新项目保存到 Outlook 中的特定文件夹,您可以选择:

    1. 使用CreateItem 方法创建一个新项目,然后使用MoveTo 方法将该项目放置到目标文件夹中。
    2. 使用Items.Add 方法将新项目放置到Items 集合所在的文件夹中。例如:
    nSpace = OutlookApp.GetNamespace("MAPI")
    targetFolder = nSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
    folderItems = targetFolder.Items
    mail = folderItems.Add(Outlook.OlItemType.olMailItem)
    

    您可以在How to create and show a new Outlook mail item programmatically: C#, VB.NET 文章中找到用代码示例描述的所有这些方式。

    【讨论】:

      【解决方案2】:

      实际创建objMail 的代码是什么?你在用Application.CreateItem吗?而是在特定文件夹上使用 MAPIFolder.Items.Add。假设“我的自定义子文件夹”是草稿文件夹的子文件夹:

      set folder = objOutlook.Session.GetDefaulFolder(16) 'olfolderDrafts
      set folder = folder.Folders("My custom subfolder")
      set objMail = folder.Items.Add
      

      【讨论】:

      • ' 设置 objOutlook = CreateObject("Outlook.Application") 设置 objMail = objOutlook.CreateItem(0) '
      • 这是我目前拥有的
      • 我正在尝试合并您的建议,但我不断收到错误。说需要一个对象?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多