亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Outlook中收到新郵件后觸發宏運行?

如何在Outlook中收到新郵件后觸發宏運行?

如何在Outlook中收到新郵件后觸發宏運行?我正在編寫一個宏,它根據從Nagios服務器收到的警報作為電子郵件在數據庫上創建票證。但是,我不能讓宏在檢查郵件時在無限循環中運行,因為它太資源太重而使我的桌面掛起。我需要找到一種方法只在收到新郵件時觸發宏。我在MSDN網站上查找了NewMail事件的內容,但我找不到任何連貫的內容。任何人都可以向我展示一些示例代碼,以顯示如何從新郵件事件中觸發宏嗎?
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

此代碼將向默認的本地收件箱添加事件偵聽器,然后對傳入的電子郵件執行某些操作。您需要在下面的代碼中添加該操作。

Private WithEvents Items As Outlook.Items 
Private Sub Application_Startup() 
  Dim olApp As Outlook.Application 
  Dim objNS As Outlook.NameSpace 
  Set olApp = Outlook.Application 
  Set objNS = olApp.GetNamespace("MAPI") 
  ' default local Inbox
  Set Items = objNS.GetDefaultFolder(olFolderInbox).Items 
End SubPrivate Sub Items_ItemAdd(ByVal item As Object) 

  On Error Goto ErrorHandler 
  Dim Msg As Outlook.MailItem 
  If TypeName(item) = "MailItem" Then
    Set Msg = item 
    ' ******************
    ' do something here
    ' ******************
  End IfProgramExit: 
  Exit SubErrorHandler: 
  MsgBox Err.Number & " - " & Err.Description 
  Resume ProgramExit 
End Sub

粘貼ThisOutlookSession模塊中的代碼后,必須重新啟動Outlook。


查看完整回答
反對 回復 2019-08-13
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

嘗試這樣的內容ThisOutlookSession

Private Sub Application_NewMail()
    Call Your_main_macroEnd Sub

當我收到一封電子郵件并打開該應用程序事件時,我的outlook vba就被解雇了。

編輯:我剛剛測試了一個hello world msg框,它在application_newmail收到電子郵件后在活動中被調用后運行。


查看完整回答
反對 回復 2019-08-13
  • 2 回答
  • 0 關注
  • 3125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號