每当将电子邮件移动到特定文件夹中时,我都希望在字段上设置日期。该字段是自定义的,称为“完成日期”。当项目移动到文件夹(文件夹名称为“已完成”)时,我能否获得有关 VBA 代码设置自定义字段(日期)的一些帮助。
我最终希望报告收到项目(自定义表单电子邮件)到完成时间的时间(根据将电子邮件移动到已完成文件夹的操作。
非常基本的票务系统,我很清楚:)。
谢谢,
一个
每当将电子邮件移动到特定文件夹中时,我都希望在字段上设置日期。该字段是自定义的,称为“完成日期”。当项目移动到文件夹(文件夹名称为“已完成”)时,我能否获得有关 VBA 代码设置自定义字段(日期)的一些帮助。
我最终希望报告收到项目(自定义表单电子邮件)到完成时间的时间(根据将电子邮件移动到已完成文件夹的操作。
非常基本的票务系统,我很清楚:)。
谢谢,
一个
使用 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