I'm new to VBA and was wondering if anyone could give me any pointers
on how I could speed up the following script for Outlook. It seems to
run extremely slowly, expecially if there are a number of mail items
selected....
* * * * *
Option Explicit
Sub TrashMail()
Dim ImapRoot As MAPIFolder: Set ImapRoot =
Application.GetNamespace("MAPI").Folders("imap.telus.net")
Dim TrashFolder As MAPIFolder: Set TrashFolder =
ImapRoot.Folders("Deleted Items")
Dim myBar As CommandBar: Set myBar =
Application.ActiveExplorer.CommandBars("Menu Bar")
Dim myButtonPopup As CommandBarPopup: Set myButtonPopup =
myBar.Controls("Edit")
Dim myButton As CommandBarButton: Dim strRes As String:
Dim flgImap As Boolean: Dim flgDeleted
As Boolean
On Error Resume Next
strRes = ActiveExplorer.Selection.Count: If strRes = "" Or strRes =
"0" Then Exit Sub
strRes = ActiveExplorer.CurrentFolder.FolderPath
If InStr(1, strRes, "Deleted", 1) > 0 Then: flgDeleted = True: Else:
flgDeleted = False:
If InStr(1, strRes, "imap", 1) > 0 Then: flgImap = True: Else: flgImap
= False:
If flgImap = False Then
Set myButton = myButtonPopup.Controls("Delete"):
myButton.Execute
Else
If flgDeleted = True Then
Set myButton = myButtonPopup.Controls("Delete"):
myButton.Execute
Else
Dim Item As MailItem
For Each Item In ActiveExplorer.Selection
Item.Move TrashFolder
Next Item
End If
Set myButton = myButtonPopup.Controls("Purge Deleted
Messages"): myButton.Execute
End If
End Sub
Archived from group: microsoft>public>office>developer>outlook>vba