循环访问多个选择/文件夹项目



我看了看MailItem,没有看到任何表明我可以转移选择项目的内容。

我有功能的代码,但是,Set objItem = GetCurrentItem()行只接受一封邮件。

我希望通过文件夹ForEach,或者ForEach选择。

我尝试了类似的东西

Sub ListMailsInFolder()
Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Set objNS = GetNamespace("MAPI")
Set objFolder = objNS.Folders.GetFirst ' folders of your current account
Set objFolder = objFolder.Folders("Foldername").Folders("Subfoldername")
For Each Item In objFolder.Items

我不知道我在做什么。

这是我尝试在多封电子邮件上执行的代码:

Sub HelpdeskNewTicket()
Dim helpdeskaddress As String
Dim objMail As Outlook.MailItem
Dim strbody As String
Dim oldmsg As String
Dim senderaddress As String
Dim addresstype As Integer
' Set this variable as your helpdesk e-mail address
helpdeskaddress = "danielbelamiinc@gmail.com"
Set objItem = GetCurrentItem()
Set objMail = objItem.Forward
' Sender E=mail Address
senderaddress = objItem.SenderEmailAddress
strbody = objItem.Body
objMail.To = helpdeskaddress
objMail.Subject = objItem.Subject
objMail.Body = strbody
'Automatically Send the ticket
objMail.Send
Set objItem = Nothing
Set objMail = Nothing
End Sub

Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = _
objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = _
objApp.ActiveInspector.CurrentItem
Case Else
End Select
End Function

要遍历选择项目,请使用 For ...下一个语句循环 [MSDN]


语法

For counter = initial_value To end_value [Step step-counter]

关于选择项目的示例

Option Explicit
Public Sub Example()
Dim Item As Outlook.mailitem
Dim i As Long
For i = ActiveExplorer.Selection.Count To 1 Step -1
Set Item = ActiveExplorer.Selection.Item(i)
Debug.Print Item.Subject
' Call Sub
Next
End Sub

文件夹项目示例

Option Explicit
Public Sub Example()
Dim Inbox As Outlook.folder
Set Inbox = Application.Session.GetDefaultFolder( _
olFolderInbox _
)

Dim Items As Outlook.Items
Set Items = Inbox.Items
Dim i As Long
For i = Items.Count To 1 Step -1
DoEvents
Debug.Print Items(i) 'Print on Immediate Window
Next
End Sub

DoEvents MSDN & Debug.Print SO Link


描述循环
执行给定的次数,由循环计数器确定。要使用...下一个循环,必须为计数器变量分配一个数值。此计数器会随着循环的每次迭代而自动递增或递减。在 For 语句中,指定最初要分配给计数器的值,以及计数器对于要执行的代码块将达到的最大值。Next 语句标记要重复执行的代码块的结束,并且还用作一种指示要修改计数器变量的标志。


当前文件夹属性

返回或设置一个 MAPIFolder 对象,该对象代表资源管理器中显示的当前文件夹。使用此属性可更改用户正在查看的文件夹。

最新更新