2016-01-06 93 views
0

我一直在Outlook中设置规则有一些麻烦。我的问题的原因是,前景规则的定义和条件似乎不够强大。Outlook规则,也许与VBA

我想要做什么。 当有人回复我系统内的电子邮件时,我收到来自票务系统的自动消息,其中有一个主题,如“添加了评论”。

我想:

  1. 移动这些项目到特定文件夹。
  2. 添加两类
  3. 播放通知音,
  4. 旗今天跟进,

现在,使用规则,每当我完成一个任务,一个新的电子邮件从系统自带该规则将再次运行并再次标记所有已完成的任务。 但我想为已被标记为完成的邮件制定一个例外。

可能吗? 我正在考虑使用VBA。也许这里有人对我可以从哪里开始有一些指导?

回答

0

如果您想在Outlook中使用VBA。你可以做这样的事情,这将允许你在回复时处理一条新消息。

Private WithEvents Items As Outlook.Items 

Private Sub Application_Startup() 
    Dim Ns As Outlook.NameSpace 
    Dim Folder As Outlook.MAPIFolder 

    Set Ns = Application.GetNamespace("MAPI") 
    Set Folder = Ns.GetDefaultFolder(olFolderInbox) 
    Set Items = Folder.Items 
End Sub 

Private Sub Items_ItemAdd(ByVal Item As Object) 
    If TypeOf Item Is Outlook.MailItem Then 
    ProcessNewMessage Item 
    End If 
End Sub 

Private Sub ProcessNewMessage(NewMail As Outlook.MailItem) 
    'DO WHAT YOU NEED TO WHEN NEW MAIL ARRIVES HERE 
    'E.G 
    'MsgBox NewMail.Subject 
End Sub 

您只需编写消息到达时应执行的操作。检查主题包含的内容等。

+0

谢谢我会尽力尽快对其进行测试。 – Sipko

+0

好吧,我已经尝试了一些东西。虽然自从我设置它以来没有收到新的邮件。 我唯一想知道的是这个叫做什么? 我的意思是,我不得不创建它作为一个类模块,以不给我错误。 但是这个类是自动调用还是需要创建一个常规模块来调用它? – Sipko

+0

应将此代码添加到名为ThisOutlookSession的模块中。 http://stackoverflow.com/questions/5660028/how-to-enable-thisoutlooksession-in-outlook-2007 – Pure