【问题标题】:Set custom value when item moved to folder in outlook将项目移动到 Outlook 中的文件夹时设置自定义值
【发布时间】:2013-10-23 03:21:38
【问题描述】:

我希望在将电子邮件移至特定文件夹时在字段上设置日期。 该字段是自定义的,称为“完成日期”。 当项目移动到文件夹(文件夹名称为“已完成”)时,我能否获得有关 VBA 代码设置自定义字段(日期)的一些帮助。

我最终希望报告收到项目(自定义表单电子邮件)到完成时间的时间(根据将电子邮件移动到已完成文件夹的操作。

非常基本的票务系统,我很清楚 :) 。

谢谢,

一个

【问题讨论】:

    标签: vba outlook directory user-defined-fields


    【解决方案1】:

    在引用“已完成”文件夹的位置使用 ItemAdd http://www.outlookcode.com/article.aspx?id=62

    将它与http://www.vbaexpress.com/forum/showthread.php?5738-Need-to-Add-a-Userdefined-Property-to-Mail-Items这样的代码结合起来

    示例代码

    更改它,以便您仅更新文件夹中的所有项目,仅更新触发 ItemAdd 的一项。

    Option Explicit 
    
    Sub AddAUserDefinedProperty() 
    
    Dim olApplication   As Outlook.Application 
    Dim olNameSpace     As Outlook.NameSpace 
    Dim olFolder        As Outlook.MAPIFolder 
    Dim olItem          As Object 
    Dim strDomain       As String 
    Dim olProperty      As Outlook.UserProperty 
    
    Set olApplication = New Outlook.Application 
    Set olNameSpace = olApplication.GetNamespace("Mapi") 
    Set olFolder = olNameSpace.GetDefaultFolder(olFolderJunk) 
    
    For Each olItem In olFolder.Items 
    
        strDomain = Mid(olItem.SenderEmailAddress, _ 
        InStr(1, olItem.SenderEmailAddress, "@") + 1) 
    
        Set olProperty = olItem.UserProperties.Add("Domain", olText) 
    
        olProperty.Value = strDomain 
    
        Debug.Print olItem.SenderEmailAddress, olProperty.Value 
    
        olItem.Save 
    
    Next olItem 
    
    Set olApplication = Nothing 
    Set olNameSpace = Nothing 
    Set olFolder = Nothing 
    Set olProperty = Nothing 
    
    End Sub 
    

    这里有更多参考资料http://www.codeproject.com/Articles/427913/Using-User-Defined-Fields-in-Outlook

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 2017-04-29
      相关资源
      最近更新 更多