迭代特定Outlook文件夹中的所有电子邮件项目

use*_*332 8 outlook vba

如何在Outlook VBA宏中迭代特定Outlook文件夹中的所有电子邮件项目(在这种情况下,该文件夹不属于我的个人inbux,但是是共享邮箱收件箱的子文件夹.

像这样的东西,但我从来没有做过Outlook宏...

For each email item in mailboxX.inbox.mySubfolder.items
// do this
next item
Run Code Online (Sandbox Code Playgroud)

我试过这个,但找不到收件箱子文件夹...

Private Sub Application_Startup()

Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Set objNS = GetNamespace("MAPI")
Set objFolder = objNS.Folders("myGroupMailbox")
Set objFolder = objFolder.Folders("Inbox\mySubFolder1\mySubFolder2")

  On Error GoTo ErrorHandler
  Dim Msg As Outlook.MailItem

For Each Item In objFolder.Items

  If TypeName(Item) = "MailItem" Then

    Set Msg = Item
    If new_msg.Subject Like "*myString*" Then
        strBody = myItem.Body
        Dim filePath As String
        filePath = "C:\myFolder\test.txt"
        Open filePath For Output As #2
        Write #2, strBody
        Close #2

    End If

  End If

ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.Number & " - " & Err.Description
  Resume ProgramExit

Next Item

End Sub
Run Code Online (Sandbox Code Playgroud)

nit*_*ton 3

格式为:

Set objFolder = objFolder.Folders("Inbox").Folders("mySubFolder1").Folders("mySubFolder2")
Run Code Online (Sandbox Code Playgroud)

正如评论中所建议的“将下一个项目行移到 ProgramExit 标签之前”