我有一个充满电子邮件的文件夹,这是一个自定义邮件类(iXOS-Archive,与OpenText Enterprise Archive相关)。每封电子邮件都有一个自定义元数据属性,在Outlook中可见,称为“文档标识符”。我正在尝试使用VBA脚本从电子邮件中提取此信息。我找到了一个脚本,它从电子邮件中提取公共元数据(To,From,Subject等)并将其写入Excel。这很好用。
http://spreadsheetpage.com/index.php/tip/getting_a_list_of_file_names_using_vba/
我已尝试调试脚本并查看电子邮件属性,但我找不到包含自定义元数据的任何集合。
有谁知道如何通过VBA脚本访问自定义元数据?
答案 0 :(得分:2)
您可能不可以使用FileSystemObject
或DIR
函数执行此操作(如您上面链接的代码中所示)。
如果没有合适的例子,我无法测试,但这可能会有效:
.ItemProperties
实际上,您将在循环中设置它,类似于您的示例代码,但为了测试,请在单个文件上试一试,看看这是否对您有帮助。
'Requires reference to Outlook object model
Sub foo()
Dim olApp As Outlook.Application
Dim msg As Outlook.MailItem
Dim properties As Outlook.ItemProperties
Dim p As Long
Set olApp = GetObject(, "Outlook.Application")
Set msg = olApp.CreateItemFromTemplate("C:\your filename.msg")
Set properties = msg.ItemProperties
For p = 0 To properties.Count - 1
Debug.Print properties(p).Name
Next
Set msg = Nothing
Set olApp = Nothing
End Sub
这应该在立即窗口中打印ItemProperties
列表,滚动查看该列表并检查您正在寻找的那个 - "文档标识符" - 已经包括了。如果是这样,那么这应该有效,你可以根据需要修改你想做的任何事情。
除非您能提供此电子邮件格式的测试/样本版本,否则我无法获得进一步的帮助。
干杯。