首页 > 解决方案 > 发送电子邮件时应用脚本的问题

问题描述

有谁知道当我发送电子邮件时如何触发 VBA。

我试图从规则向导中寻找“对我发送的消息应用规则”的选项,但有脚本选项。

干杯

标签: outlook

解决方案


当然,您可以指定一个 VBA 子程序在触发规则时运行。sub 应该采用一个参数来表示正在发送的项目:

Public Sub Test(item as Outlook.MailItem)
  ' run your code here
End Sub   

您可以将事件处理程序添加到类的ItemSend事件Application。每当发送 Microsoft Outlook 项目时,用户通过检查器(在检查器关闭之前,但在用户单击“发送”按钮之后)或使用 Outlook 项目(如 MailItem)的 Send 方法时,都会触发它在一个程序中。

Public WithEvents myOlApp As Outlook.Application 

Public Sub Initialize_handler()  
  Set myOlApp = Outlook.Application  
End Sub 

Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)  
 Dim prompt As String  
 prompt = "Are you sure you want to send " & Item.Subject & "?"  
 If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then  
  Cancel = True  
 End If  
End Sub

您编写一个事件过程(也称为事件处理程序)来响应 Microsoft Outlook 中发生的事件。例如,您可以编写一个在 Outlook 启动时自动最大化资源管理器窗口的事件过程。

事件与特定对象相关联。该Application对象是最顶层的对象,并且始终可用(也就是说,不必创建它)。您只需在左侧列表中选择,然后在右侧列表中选择事件,即可在模块窗口中添加Application事件过程。ThisOutlookSessionApplication


推荐阅读