|
楼主 |
发表于 2009-9-21 15:20
|
显示全部楼层
附件中的文件就是一个嵌套附件的一个outlook文件,像这样的文件,我要处理16000多个,如何批量提取附件中的*.RWD文件。
本人有一定的VBA经验,对word,excel对象模型有很深入的研究,对Outlook对象不是很清楚,目前已经把第一层文件提取出来了,即只包含*.rwd文件附件的*。msg文件。能否通过程序一次性提取到最底层的rwd文件。如果不能,那可不可以在outlook中,批量打开这个msg文件,逐个提取rwd文件。
下面的程序就是我提取第一层的程序代码:
Sub SaveAtt()
Set objInbox = Session.GetDefaultFolder(olFolderInbox).Items
objInbox_ItemAdd objInbox
End Sub
Private Sub objInbox_ItemAdd(ByVal Item As Object)
Dim FileName As String
Dim msg
Dim path
wcount = 0
Dim filefolder
filefolder = "D:\temp\"
j = 1
On Error Resume Next
Dim myOlApp As New Outlook.Application
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox myFolder.Items.Count
For i = 1 To myFolder.Items.Count
'====获得每个邮件item=================
Set mymailitem = myFolder.Items(i)
For Each att In mymailitem.Attachments
FileName = Right(att.FileName, 3)
If FileName = "msg" Then
path = filefolder & j & att.FileName
att.SaveAsFile path
Debug.Print att.FileName
j = j + 1
End If
Next
next
End Sub
谢谢大侠的帮助。 |
|