在加载项执行之前成功打开 Outlook

Open Outlook successfully before add-in executes

我构建了一个 VSTO Outlook 插件(使用 Visual Studio)来将电子邮件从一个文件夹复制到另一个文件夹,然后匹配一些条件。

我将代码放在 Sub ThisAddIn_Startup() 下,它在 Outlook 启动时开始 运行。这会导致在执行此加载项功能之前完全打开 Outlook 应用程序的延迟。处理初始屏幕以打开主 Outlook windows 需要更长的时间。

有什么方法可以延迟加载项功能的执行,以便首先成功打开 outlook 并开始同步电子邮件,然后在特定时间(比如 5 分钟)后加载项将执行

我试过 "Threading.Thread.Sleep()" 但它冻结了整个过程并增加了额外的延迟时间来打开 Outlook 应用程序

Public Class ThisAddIn
   'Threading.Thread.Sleep(60000)  

   Public Sub ThisAddIn_Startup() Handles Me.Startup        
      Call CopyMails()
   End Sub

   Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
   End Sub

   Public Sub CopyMails()
      'Some codes here
   End Sub

End Sub

我不确定 Outlook API 是否有更好的方法来实现您的目标,但可以通过以下方式实现 5 分钟的延迟:

Public Async Sub ThisAddIn_Startup() Handles Me.Startup
    Await Task.Delay(300000)
    CopyMails()
End Sub