RaduS
RaduS

Reputation: 2555

Outlook Wait a few seconds then execute

I have a simple VBA code in Outlook 2010 which prints any incoming emails automatically.

This script is set to run each time an email comes in through a rule.

Here is the code:

Sub printradu(Item As Outlook.MailItem)
       MessageAndAttachmentProcessor Item, True
End Sub

How can i make this script wait 10 seconds and then execute it. I need something like this:

Sub printradu(Item As Outlook.MailItem)
       'Wait 10 seconds then execute the code below:
       MessageAndAttachmentProcessor Item, True
End Sub

Upvotes: 8

Views: 49135

Answers (2)

Sérgio Backes
Sérgio Backes

Reputation: 49

This worked for me in Outlook 2013 VBA (for some reason I had to include "outlook." before the "Application.Wait"):

Outlook.Application.Wait (Now + TimeValue("0:00:5"))

Upvotes: 4

Vivek Jain
Vivek Jain

Reputation: 3889

Try:

Sub printradu(Item As Outlook.MailItem)
    'Wait 10 seconds then execute the code below:
    Application.Wait(Now + TimeValue("0:00:10"))
    MessageAndAttachmentProcessor Item, True
End Sub

Or:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub printradu(Item As Outlook.MailItem)
    'Wait 10 seconds then execute the code below:
    Sleep(10000)
    MessageAndAttachmentProcessor Item, True
End Sub

Or:

Sub printradu(Item As Outlook.MailItem)
    'Wait 10 seconds then execute the code below:
    Threading.thread.sleep(10000)
    MessageAndAttachmentProcessor Item, True
End Sub

Upvotes: 15

Related Questions