web-dev-qa-db-ja.com

Outlook数秒待ってから、実行します

Outlook 2010には、受信メールを自動的に印刷する簡単なVBAコードがあります。

このスクリプトは、ルールを介して電子メールが届くたびに実行されるように設定されています。

コードは次のとおりです。

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

このスクリプトを10秒間待機させてから、実行するにはどうすればよいですか。私はこのようなものが必要です:

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

試してください:

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

または:

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

または:

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

これは、Outlook 2013 VBAで機能しました(何らかの理由で、「Application.Wait」の前に「Outlook。」を含める必要がありました)。

Outlook.Application.Wait (Now + TimeValue("0:00:5"))
1
Sérgio Backes