Export ( Save ) các mail outlook thành các file txt

Liên hệ QC

hadoan-pap

Thành viên tiêu biểu
Tham gia
8/7/15
Bài viết
460
Được thích
19
Em chào mọi người.

Em muốn save các mail trong folder của outlook ra các file txt. Em có đoạn code bên dưới nhưng nó đang chạy chưa đúng, trong folder có 3 email nhưng hiện tại nó chạy xong thì nó save ra thành 3 file với nội dung của 1 email đâu tiên.

Em không rõ trong vòng lặp e sai ở đâu… và làm thế nào để sửa cho nó save 3 email thành 3 file riêng với các tên đánh số từ 1 đến 3 ạ.

Rất mong mọi người hỗ trợ.

Em xin cảm ơn nhiều.

Dim appOutlook As Object
Dim olNs As Object
Dim olFolder As Object
Dim olItem As Object
Dim iRow As Integer

On Error Resume Next
Set appOutlook = GetObject(, "Outlook.Application")
If appOutlook Is Nothing Then
Set appOutlook = CreateObject("Outlook.Application")
End If
On Error GoTo 0

Set olNs = appOutlook.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(6).Folders("Incorrect")


Set colMailItems = olFolder.Items

For iRow = 1 To colMailItems.Count

Set objItem = colMailItems.GetLast()
objItem.SaveAs "C:\Users\Administrator\Desktop\Check Subject Mail\" & iRow & ".txt", olTxt

Next iRow
 
Mail của bạn là Gmail hả?
Dạ không.. mail công ty ạ. E dung Outlook 2016
Bài đã được tự động gộp:

Mail của bạn là Gmail hả?
Trong code của em nó chạy và save được rồi ạ. Nhưng không hiểu sao trong folder có 3 email, nó save thành 3 file nhưng nội dung 3file đều là của 1 email đầu tiên ạ
Bài đã được tự động gộp:

Mail của bạn là Gmail hả?
Anh có đoạn code khác mà để save các email trong 1 subfolder tren outlook thành các file txt thì vui long cho em xin cũng được ạ.

Em xin cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
ở dòng này

Set objItem = colMailItems.GetLast() 'luôn là mail mới nhất
objItem.SaveAs "C:\Users\Administrator\Desktop\Check Subject Mail\" & iRow & ".txt", olTxt
Dạ em cũng biết chỗ đó là nguyên nhân… nhưng em đang chưa biết cách để sửa cho nó save thành các file txt tương ứng với các email trong folder ạ.

Rất mong được anh hỗ trợ sửa lại ạ.

Em xin cảm ơn!
 
Upvote 0
PHP:
Set colMailItems = olFolder.Items 
For each objItem in colMailItems 
iRow =iRow  +1
objItem.SaveAs "C:\Users\Administrator\Desktop\Check Subject Mail\" & iRow & ".txt", olTxt
Next objItem
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom