Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để xuất email từ nhiều thư mục / thư mục con sang excel trong Outlook?

Khi xuất một thư mục bằng thuật sĩ Nhập và Xuất trong Outlook, nó không hỗ trợ Bao gồm các thư mục con nếu bạn xuất thư mục sang tệp CSV. Tuy nhiên, sẽ khá mất thời gian và tẻ nhạt khi xuất từng thư mục sang tệp CSV rồi chuyển đổi sang sổ làm việc Excel theo cách thủ công. Ở đây, bài viết này sẽ giới thiệu một VBA để nhanh chóng xuất nhiều thư mục và thư mục con sang sổ làm việc Excel một cách dễ dàng.

Xuất nhiều email từ nhiều thư mục / thư mục con sang Excel với VBA

Tab Office - Cho phép Chỉnh sửa và Duyệt theo Tab trong Office và Giúp Công việc Dễ dàng hơn Nhiều ...
Kutools cho Outlook - Mang đến 100 tính năng nâng cao mạnh mẽ cho Microsoft Outlook
  • Auto CC / BCC bởi các quy tắc khi gửi email; Tự động chuyển tiếp Nhiều Email theo quy tắc; Tự động trả lời không có máy chủ trao đổi và các tính năng tự động khác ...
  • Cảnh báo BCC - hiển thị tin nhắn khi bạn cố gắng trả lời tất cả nếu địa chỉ mail của bạn có trong danh sách BCC; Nhắc nhở khi thiếu tệp đính kèmvà các tính năng nhắc nhở khác ...
  • Trả lời (Tất cả) Với Tất cả Tệp đính kèm trong cuộc trò chuyện qua thư; Trả lời nhiều email cùng một lúc; Tự động thêm lời chào khi trả lời; Tự động Thêm Ngày & Giờ vào chủ đề ...
  • Công cụ đính kèm: Tự động tách, Nén tất cả, Đổi tên tất cả, Tự động lưu tất cả ... Báo cáo nhanh, Đếm Thư đã Chọn, Xóa Thư và Địa chỉ Liên hệ Trùng lặp ...
  • Hơn 100 tính năng nâng cao sẽ giải quyết hầu hết các vấn đề của bạn trong Outlook 2021 - 2010 hoặc Office 365. Tính năng đầy đủ Bản dùng thử miễn phí 60 ngày.

mũi tên màu xanh bong bóng bên phải Xuất nhiều email từ nhiều thư mục / thư mục con sang Excel với VBA

Vui lòng làm theo các bước dưới đây để xuất email từ nhiều thư mục hoặc thư mục con sang sổ làm việc Excel với VBA trong Outlook.

1. nhấn Khác + F11 để mở cửa sổ Microsoft Visual Basic for Applications.

2. nhấp chuột Chèn > Mô-đun, rồi dán mã VBA bên dưới vào cửa sổ Mô-đun mới.

VBA: Xuất email từ nhiều thư mục và thư mục con sang Excel

Const MACRO_NAME = "Export Outlook Folders to Excel"

Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_accouny\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_accouny\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub
Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim      olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer

If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
'Write Excel Column Headers
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
'Only export messages, not receipts or appointment requests, etc.
If olkMsg.Class = olMail Then
'Add a row for each field in the message you want to export
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If

Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub

Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean

On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function

Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object

On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkPrp = Nothing
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function

Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function

Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function

3. Vui lòng điều chỉnh mã VBA ở trên khi bạn cần.

(1) Thay thế Desti_folder_path trong đoạn mã trên với đường dẫn thư mục của thư mục đích, bạn sẽ lưu các sổ làm việc đã xuất vào, chẳng hạn như C: \ Users \ DT168 \ Documents \ TEST.
(2) Thay thế your_email_accouny \ folder \ subfolder_1 và your_email_accouny \ folder \ subfolder_2 trong mã trên bằng các đường dẫn thư mục của các thư mục con trong Outlook, chẳng hạn như Kelly @extendoffice.com \ Hộp thư đến \ AKelly @extendoffice.com \ Hộp thư đến \ B

4. Nhấn nút F5 phím hoặc nhấp vào chạy để chạy VBA này. Và sau đó nhấp vào OK trong hộp thoại Xuất Thư mục Outlook sang Excel xuất hiện. Xem ảnh chụp màn hình:

Và bây giờ email từ tất cả các thư mục con hoặc thư mục được chỉ định trong mã VBA ở trên được xuất và lưu vào sổ làm việc Excel.


mũi tên màu xanh bong bóng bên phảiBài viết liên quan


Kutools cho Outlook - Cung cấp 100 Tính năng Nâng cao cho Outlook và Làm cho Công việc Dễ dàng hơn Nhiều!

  • Auto CC / BCC bởi các quy tắc khi gửi email; Tự động chuyển tiếp Nhiều Email theo tùy chỉnh; Tự động trả lời không có máy chủ trao đổi và các tính năng tự động khác ...
  • Cảnh báo BCC - hiển thị tin nhắn khi bạn cố gắng trả lời tất cả nếu địa chỉ thư của bạn có trong danh sách BCC; Nhắc nhở khi thiếu tệp đính kèmvà các tính năng nhắc nhở khác ...
  • Trả lời (Tất cả) Với Tất cả Tệp đính kèm trong cuộc trò chuyện qua thư; Trả lời nhiều email trong vài giây; Tự động thêm lời chào khi trả lời; Thêm Ngày vào chủ đề ...
  • Công cụ Tệp đính kèm: Quản lý Tất cả Tệp đính kèm trong Tất cả Thư, Tự động tách, Nén tất cả, Đổi tên tất cả, Lưu tất cả ... Báo cáo nhanh, Đếm thư đã chọnhữu ích. Cảm ơn !
  • Email rác mạnh mẽ Theo phong tục; Xóa thư và liên hệ trùng lặphữu ích. Cảm ơn ! Cho phép bạn làm việc thông minh hơn, nhanh hơn và tốt hơn trong Outlook.
shot kutools triển vọng tab kutools 1180x121
shot kutools triển vọng kutools plus tab 1180x121
 
Nhận xét (10)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi làm cách nào để điều này tự động đệ quy thành các thư mục con?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xin chào bạn, mọi thứ hoạt động tốt, cám ơn nhiều nhưng phần body không xuất được, làm sao tôi có thể xuất phần thân email được, file excel vừa có (Chủ đề, Người nhận và Người gửi), nếu bạn cập nhật được cho tôi với thì sẽ giải quyết được một vấn đề rất lớn trong công việc kinh doanh của tôi, cảm ơn nhiều một lần nữa
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Montaser,
Tập lệnh VBA chạy dựa trên tính năng Xuất của Outlook không hỗ trợ xuất nội dung thư khi xuất hàng loạt email từ một thư mục thư. Do đó, tập lệnh VBA này cũng không thể xuất nội dung thư.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
điều này hoạt động tốt, nhưng có cách nào để thêm thông tin cho không chỉ 4 trường ở trên mà còn tất cả những gì Outlook xuất sang PST cung cấp không? Chủ đề Nội dung Từ: (Tên) Từ: (Địa chỉ) Từ: (Loại) Tới: (Tên) Tới: (Địa chỉ) Tới: (Loại) CC: (Tên) CC: (Địa chỉ) CC: (Loại) BCC: ( Tên) BCC: (Địa chỉ) BCC: (Loại) Thông tin thanh toán Phân loại Tầm quan trọng Độ nhạy theo dặm

Tôi đã thử thêm "Tầm quan trọng" và nó hoạt động, nhưng tôi sẽ đánh giá cao nếu ai đó có thể cung cấp mã cho các trường khác. Cảm ơn!!
Với excWks
.Cells (1, 1) = "Chủ đề"
.Cells (1, 2) = "Đã nhận"
.Cells (1, 3) = "Người gửi"
.Cells (1, 4) = "Nội dung"
.Cells (1, 5) = "Tầm quan trọng"
Kết thúc với
intRow = 2
Đối với mỗi olkMsg Trong olkFld.Items
'Chỉ xuất tin nhắn, không phải biên nhận hoặc yêu cầu cuộc hẹn, v.v.
Nếu olkMsg.Class = olMail Thì
'Thêm một hàng cho mỗi trường trong thư bạn muốn xuất
excWks.Cells (intRow, 1) = olkMsg.Subject
excWks.Cells (intRow, 2) = olkMsg.ReceiveTime
excWks.Cells (intRow, 3) = GetSMTPAddress (olkMsg, intVersion)
excWks.Cells (intRow, 4) = olkMsg.Body
excWks.Cells (intRow, 5) = olkMsg.Importance
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, vui lòng kiểm tra mã bên dưới theo nhu cầu của bạn:
Const MACRO_NAME = "Xuất Thư mục Outlook sang Excel"

Sub ExportMain ()

ExportToExcel "destination_folder_path \ A.xlsx", "your_email_accouny \ folder \ subfolder_1"

ExportToExcel "destination_folder_path \ B.xlsx", "your_email_accouny \ folder \ subfolder_2"

MsgBox "Quá trình hoàn tất.", VbInformation + vbOKOnly, MACRO_NAME

End Sub

Sub ExportToExcel (strFilename As String, strFolderPath As String)

Làm mờ olkMsg làm đối tượng

Dim olkFld làm đối tượng

Dim excApp làm đối tượng

Dim excWkb làm đối tượng

Dim excWks làm đối tượng

Dim intRow dưới dạng số nguyên

Dim intVersion dưới dạng số nguyên

Nếu strFilename <> "" Thì

Nếu strFolderPath <> "" Thì

Đặt olkFld = OpenOutlookFolder (strFolderPath)

Nếu TypeName (olkFld) <> "Không có gì" thì

intVersion = GetOutlookVersion ()

Đặt excApp = CreateObject ("Excel.Application")

Đặt excWkb = excApp.Workbooks.Add ()

Đặt excWks = excWkb.ActiveSheet

'Viết tiêu đề cột trong Excel

Với excWks

.Cells (1, 1) = "Chủ đề"

.Cells (1, 2) = "Nội dung"

.Cells (1, 3) = "Đã nhận"

.Cells (1, 4) = "Từ: (Tên)"

.Cells (1, 5) = "Từ: (Địa chỉ)"

.Cells (1, 6) = "Từ: (Loại)"

.Cells (1, 7) = "Tới: (Tên)"

.Cells (1, 8) = "Tới: (Địa chỉ)"

.Cells (1, 9) = "Tới: (Loại)"

.Cells (1, 10) = "CC: (Tên)"

.Cells (1, 11) = "CC: (Địa chỉ)"

.Cells (1, 12) = "CC: (Loại)"

.Cells (1, 13) = "BCC: (Tên)"

.Cells (1, 14) = "BCC: (Địa chỉ)"

.Cells (1, 15) = "BCC: (Loại)"

.Cells (1, 16) = "Thông tin Thanh toán"

.Cells (1, 17) = "Danh mục"

.Cells (1, 18) = "Tầm quan trọng"

.Cells (1, 19) = "Dặm"

.Cells (1, 20) = "Độ nhạy"

Kết thúc với

intRow = 2

Đối với mỗi olkMsg Trong olkFld.Items

'Chỉ xuất tin nhắn, không phải biên nhận hoặc yêu cầu cuộc hẹn, v.v.

Nếu olkMsg.Class = olMail Thì

'Thêm một hàng cho mỗi trường trong thư bạn muốn xuất

excWks.Cells (intRow, 1) = olkMsg.Subject

excWks.Cells (intRow, 2) = olkMsg.Body

excWks.Cells (intRow, 3) = olkMsg.ReceiveTime

excWks.Cells (intRow, 4) = olkMsg.SenderName

excWks.Cells (intRow, 5) = GetAddress (olkMsg.Sender, intVersion)

excWks.Cells (intRow, 6) = olkMsg.Sender.Type

excWks.Cells (intRow, 7) = GetRecipientName (olkMsg, 1, 1, intVersion)

excWks.Cells (intRow, 8) = GetRecipientName (olkMsg, 1, 2, intVersion)

excWks.Cells (intRow, 9) = GetRecipientName (olkMsg, 1, 3, intVersion)

excWks.Cells (intRow, 10) = GetRecipientName (olkMsg, 2, 1, intVersion)

excWks.Cells (intRow, 11) = GetRecipientName (olkMsg, 2, 2, intVersion)

excWks.Cells (intRow, 12) = GetRecipientName (olkMsg, 2, 3, intVersion)

excWks.Cells (intRow, 13) = GetRecipientName (olkMsg, 3, 1, intVersion)

excWks.Cells (intRow, 14) = GetRecipientName (olkMsg, 3, 2, intVersion)

excWks.Cells (intRow, 15) = GetRecipientName (olkMsg, 3, 3, intVersion)

excWks.Cells (intRow, 16) = olkMsg.BillingInformation

excWks.Cells (intRow, 17) = olkMsg.Categories

excWks.Cells (intRow, 18) = olkMsg.Importance

excWks.Cells (intRow, 19) = olkMsg.Mileage

excWks.Cells (intRow, 20) = olkMsg.Sens nhạy

intRow = intRow + 1

Cuối Nếu

Sau

Đặt olkMsg = Không có gì

excWkb.SaveAs strFilename

excWkb.Đóng

Khác

MsgBox "Thư mục '" & strFolderPath & "" không tồn tại trong Outlook. ", VbCritical + vbOKOnly, MACRO_NAME

Cuối Nếu

Khác

MsgBox "Đường dẫn thư mục trống.", VbCritical + vbOKOnly, MACRO_NAME

Cuối Nếu

Khác

MsgBox "Tên tệp trống.", VbCritical + vbOKOnly, MACRO_NAME

Cuối Nếu



Đặt olkMsg = Không có gì

Đặt olkFld = Không có gì

Đặt excWks = Không có gì

Đặt excWkb = Không có gì

Đặt excApp = Không có gì

End Sub



Chức năng công khai OpenOutlookFolder (strFolderPath As String) As Outlook.MAPIFolder

Mảng mờThư mục dưới dạng biến thể

Dim varFolder dưới dạng biến thể

Dim bolBeyondRoot dưới dạng Boolean

On Error Resume Next

Nếu strFolderPath = "" Thì

Đặt OpenOutlookFolder = Không có gì

Khác

Thực hiện trong khi bên trái (strFolderPath, 1) = "\"

strFolderPath = Right (strFolderPath, Len (strFolderPath) - 1)

Vòng lặp

arrFolders = Tách (strFolderPath, "\")

Đối với mỗi varFolder Trong arrFolders

Chọn trường hợp bolBeyondRoot

Trường hợp Sai

Đặt OpenOutlookFolder = Outlook.Session.Folders (varFolder)

bolBeyondRoot = Đúng

Trường hợp Đúng

Đặt OpenOutlookFolder = OpenOutlookFolder.Folders (varFolder)

Kết thúc Chọn

Nếu Err.Number <> 0 Thì

Đặt OpenOutlookFolder = Không có gì

Thoát cho

Cuối Nếu

Sau

Cuối Nếu

Về lỗi GoTo 0

Cuối Chức năng



Hàm GetOutlookVersion () As Integer

Dim arrVer làm biến thể

arrVer = Tách (Outlook.Version, ".")

GetOutlookVersion = arrVer (0)

Cuối Chức năng



Hàm SMTPEX (Entry As AddressEntry) As String

Làm mờ olkPA dưới dạng Outlook.PropertyAccessor

On Error Resume Next

Đặt olkPA = Entry.PropertyAccessor

SMTPEX = olkPA.GetProperty ("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")

Về lỗi GoTo 0

Đặt olkPA = Không có gì

Cuối Chức năng



Hàm GetAddress (Entry As AddressEntry, intOutlookVersion As Integer) As String

Dim olkEnt làm đối tượng

On Error Resume Next

Chọn trường hợp intOutlookVersion

Trường hợp là <14

If Entry.Type = "EX" Thì

GetAddress = SMTPEX (Mục nhập)

Khác

GetAddress = Entry.Address

Cuối Nếu

Trường hợp khác

Nếu Entry.AddressEntryUserType = olExchangeUserAddressEntry thì

Đặt olkEnt = Entry.GetExchangeUser

GetAddress = olkEnt.PrimarySmtpAddress

Khác

GetAddress = Entry.Address

Cuối Nếu

Kết thúc Chọn

Về lỗi GoTo 0

Đặt olkEnt = Không có gì

Cuối Chức năng



Hàm GetRecipientName (Item As MailItem, rcpType As Integer, Ret As Integer, intOutlookVersion As Integer) As String

Làm mờ xRcp với tư cách là người nhận

Dim xNames dưới dạng chuỗi

xNames = ""

Đối với mỗi xRcp trong mục.

Nếu xRcp.Type = rcpType Thì

Nếu Ret = 1 Thì

Nếu xNames = "" thì

xNames = xRcp.Name

Khác

xNames = xNames & ";" & xRcp.Name

Cuối Nếu

ElseIf Ret = 2 Sau đó

Nếu xNames = "" thì

xNames = GetAddress (xRcp.AddressEntry, intOutlookVersion)

Khác

xNames = xNames & ";" & GetAddress (xRcp.AddressEntry, intOutlookVersion)

Cuối Nếu

ElseIf Ret = 3 Sau đó

Nếu xNames = "" thì

xNames = xRcp.AddressEntry.Type

Khác

xNames = xNames & ";" & xRcp.AddressEntry.Type

Cuối Nếu

Cuối Nếu

ElseIf xRcp.Type = rcpType Sau đó

Nếu Ret = 1 Thì

Nếu xNames = "" thì

xNames = xRcp.Name

Khác

xNames = xNames & ";" & xRcp.Name

Cuối Nếu

ElseIf Ret = 2 Sau đó

Nếu xNames = "" thì

xNames = GetAddress (xRcp.AddressEntry, intOutlookVersion)

Khác

xNames = xNames & ";" & GetAddress (xRcp.AddressEntry, intOutlookVersion)

Cuối Nếu

ElseIf Ret = 3 Sau đó

Nếu xNames = "" thì

xNames = xRcp.AddressEntry.Type

Khác

xNames = xNames & ";" & xRcp.AddressEntry.Type

Cuối Nếu

Cuối Nếu

ElseIf xRcp.Type = rcpType Sau đó

Nếu Ret = 1 Thì

Nếu xNames = "" thì

xNames = xRcp.Name

Khác

xNames = xNames & ";" & xRcp.Name

Cuối Nếu

ElseIf Ret = 2 Sau đó

Nếu xNames = "" thì

xNames = GetAddress (xRcp.AddressEntry, intOutlookVersion)

Khác

xNames = xNames & ";" & GetAddress (xRcp.AddressEntry, intOutlookVersion)

Cuối Nếu

ElseIf Ret = 3 Sau đó

Nếu xNames = "" thì

xNames = xRcp.AddressEntry.Type

Khác

xNames = xNames & ";" & xRcp.AddressEntry.Type

Cuối Nếu

Cuối Nếu

Cuối Nếu

Sau

GetRecipientName = xNames

Cuối Chức năng




Hy vọng điều này làm việc cho bạn.
Amanda
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trong phần phụ ExporttoExcel, bạn có thể thêm phần nội dung

'Viết tiêu đề cột trong Excel
Với excWks
.Cells (1, 1) = "Chủ đề"
.Cells (1, 2) = "Đã nhận"
.Cells (1, 3) = "Người gửi"
.Cells (1, 4) = "Nội dung"
Kết thúc với
intRow = 2
Đối với mỗi olkMsg Trong olkFld.Items
'Chỉ xuất tin nhắn, không phải biên nhận hoặc yêu cầu cuộc hẹn, v.v.
Nếu olkMsg.Class = olMail Thì
'Thêm một hàng cho mỗi trường trong thư bạn muốn xuất
excWks.Cells (intRow, 1) = olkMsg.Subject
excWks.Cells (intRow, 2) = olkMsg.ReceiveTime
excWks.Cells (intRow, 3) = GetSMTPAddress (olkMsg, intVersion)
excWks.Cells (intRow, 4) = olkMsg.Body
intRow = intRow + 1
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Hy vọng rằng ai đó có thể giúp tôi ở đây, tôi hầu như không có kiến ​​thức về VB nhưng đã quản lý để có được tập lệnh này làm việc cho tôi cho đến nay.

Tuy nhiên, tổng cộng tôi có khoảng 1500 thư mục và thư mục con trong hộp thư đến của mình và tôi thực sự muốn một tập lệnh đơn giản để xuất tất cả địa chỉ email mà tôi đã gửi đến với dòng tiêu đề và ngày tháng trên các cột riêng biệt trong Excel.

Tôi đã tìm kiếm trong nhiều ngày và thử nhiều trang web khác nhau nhưng không thể nhận được bất kỳ mã nào hoạt động ngoài cái này.


Điều tôi đang yêu cầu có khả thi không? Nếu vậy, có ai đủ tốt bụng và thông minh để giúp tôi chọn kịch bản mà tôi cần không?
Tôi cho rằng nó có liên quan đến phần này:


Sub ExportMain ()

ExportToExcel "destination_folder_path \ A.xlsx", "your_email_accouny \ folder \ subfolder_1"

ExportToExcel "destination_folder_path \ B.xlsx", "your_email_accouny \ folder \ subfolder_2"

MsgBox "Quá trình hoàn tất.", VbInformation + vbOKOnly, MACRO_NAME

End Sub


Cảm ơn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Tôi vừa chạy Macro này hoạt động tốt.
Tôi hiểu điều đó trong các biểu thức
excWks.Cells (intRow, 1) = olkMsg.Subject
excWks.Cells (intRow, 2) = olkMsg.ReceiveTime
excWks.Cells (intRow, 3) = GetSMTPAddress (olkMsg, intVersion)

olkMsg. * và GetSMTPAddress (olkMsg, intVersion) trích xuất nội dung từ Outlook.

Đối số sẽ sử dụng để lấy Địa chỉ mà thư được gửi đến là gì?

Khi Sử dụng Trình hướng dẫn Xuất của Outlook, có thể xuất địa chỉ này, vì vậy tôi cho rằng có thể thực hiện điều đó thông qua Macro này (với một số sửa đổi).
Ai đó có thể giúp đỡ?

Trân trọng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi chạy macro này nhưng vẫn gặp lỗi biên dịch:

Người dùng = loại đã xác định không được xác định

Trên dòng 62 "Chức năng công cộng OpenOutlookFolder (strFolderPath As String) As Outlook.MAPIFolder"

Tôi đã chỉ định đường dẫn như sau:

ExportToExcel "C: \ Users \ kudus \ Documents \ MailExportTest \ f1 \ A.xlsx", "myname@mydomain.com \ Inbox \ Black Hat Webcast"
ExportToExcel "C: \ Users \\ Documekudus \ Documents \ MailExportTest \ f2 \ B.xlsx", "myname@mydomain.com \ Inbox \ CPD \ Kaplan Training"

Tôi đang sử dụng Outlook 2016 trong trường hợp cần thiết
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi sửa nó rồi. Từ cửa sổ cơ bản trực quan, đi tới Tools Reference - và hộp cho "Microsoft Outlook 16.0 Object Library"

Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL