将所有电子邮件和.msg文件保存在Outlook中

jol1234

我一直在使用一段代码将选定的电子邮件另存为.msg文件,但是我不知道要修改什么来保存所有电子邮件:

Option Explicit
Public Sub SaveMessageAsMsg()
  Dim oMail As Outlook.MailItem
  Dim objItem As Object
  Dim sPath As String
  Dim dtDate As Date
  Dim sName As String
  Dim enviro As String
  Dim strFolderpath As String




    enviro = CStr(Environ("USERPROFILE"))
    strFolderpath = BrowseForFolder(enviro & "\documents\")

   For Each objItem In ActiveExplorer.Selection

   If objItem.MessageClass = "IPM.Note" Then
    Set oMail = objItem

  sName = oMail.Subject
  ReplaceCharsForFileName sName, "-"

  dtDate = oMail.ReceivedTime
  sName = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
    vbUseSystem) & Format(dtDate, "-hhnnss", _
    vbUseSystemDayOfWeek, vbUseSystem) & "-" & sName & ".msg"

  sPath = strFolderpath & "\"
  Debug.Print sPath & sName
  oMail.SaveAs sPath & sName, olMSG

  End If
  Next

End Sub

我知道我需要更改ActiveExplorer.Selection中For Each objItem以包括所有项目,但是我对VB不太熟悉,也没有找到需要替换的项目。

我尝试使用当前文件夹和其他一些选项。

0立方米

例子是

Option Explicit
Public Sub Example()
    Dim olNs As Outlook.NameSpace
    Set olNs = Application.Session

    Dim Inbox As Outlook.MAPIFolder
    Set Inbox = olNs.GetDefaultFolder(olFolderInbox) ' Inbox

'   // Process Current Folder
    CURRENT_FOLDER Inbox

End Sub

Private Sub CURRENT_FOLDER(ByVal ParentFolder As Outlook.MAPIFolder)
    Dim SUBFOLDER As Outlook.MAPIFolder

    Dim Items As Outlook.Items
    Set Items = ParentFolder.Items
    Debug.Print ParentFolder.Name ' Print on Immediate Window

    Dim i As Long
    For i = Items.Count To 1 Step -1
        DoEvents
        Debug.Print Items(i).Subject ' Print on Immediate Window
    Next

'   // Recurse through subfolders
    If ParentFolder.Folders.Count > 0 Then
        For Each SUBFOLDER In ParentFolder.Folders
            CURRENT_FOLDER SUBFOLDER
        Next
    End If

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Outlook扫描特定的文件夹并保存电子邮件中的所有附件

如何在本地将EMAP帐户的所有文件夹和电子邮件与Evolution同步

Outlook中是否有“将所有电子邮件标记为所有文件夹中的所有邮件”选项?

如何备份 Outlook 2019(桌面) - 所有配置文件和内容(电子邮件、日历等)

如何在Outlook中找到所有加密和/或签名的电子邮件?

将所有已发送的电子邮件从gmail移至Outlook Web Access

IMAP将所有电子邮件保存到“ / var / mail / user”

将邮件备份发送的电子邮件中的所有电子邮件地址导入到地址簿中

经典 ASP:替换电子邮件字符串中的所有字符 - 少 @ 和“。”

使用match和regex从DOM字符串中获取所有电子邮件的问题

SQL Server:从地址列中获取所有电子邮件和电话号码

如何在 AWS 中获取所有退回和拒绝的电子邮件

如何将所有电子邮件导出到Evolution中?

在所有Woocommerce电子邮件通知中更改“回复”电子邮件地址

阅读来自Outlook的所有电子邮件

如何将所有电子邮件分发中所有用户的Active Directory列表保存到.CSV?

如何创建将所有电子邮件从特定域移动到文件夹的Outlook规则?

如何保存Swiftmailer发送的所有电子邮件

如何搜索Outlook,而忽略特定文件夹中的所有电子邮件?

Interop.Outlook-获取子文件夹中的所有电子邮件(项目)

从Outlook文件夹中的所有电子邮件中提取答复地址(代表发送)

使用 Outlook MAPI 列出文件夹中的所有电子邮件

如何将SVG嵌入到电子邮件的HTML中,以便在大多数/所有电子邮件浏览器中可见?

如何列出GMail中的所有电子邮件主题?

删除Exchange 2007帐户中的所有电子邮件

Excel vba:在Outlook电子邮件中的所有子文件夹中循环查找具有特定主题的电子邮件

如何使用记事本++查找和替换www文件夹中的所有电子邮件地址

将电子邮件附件保存在指定文件夹中,文件消失

如何在Outlook中更改我的IMAP电子邮件地址并保留我的所有电子邮件和文件夹?