Excel 提取Outlook文件夹中所有电子邮件的正文
我需要将Outlook文件夹中所有电子邮件的正文提取到Excel电子表格中。我希望每个电子邮件正文在excel文件中创建一个新的工作表 我有一个VBA宏,可以导出单个电子邮件的正文内容,但如何让它转到Outlook文件夹中的下一封电子邮件并附加excel文件,依此类推 下面是将单个电子邮件的正文导出到excel的代码Excel 提取Outlook文件夹中所有电子邮件的正文,excel,vba,email,outlook,export,Excel,Vba,Email,Outlook,Export,我需要将Outlook文件夹中所有电子邮件的正文提取到Excel电子表格中。我希望每个电子邮件正文在excel文件中创建一个新的工作表 我有一个VBA宏,可以导出单个电子邮件的正文内容,但如何让它转到Outlook文件夹中的下一封电子邮件并附加excel文件,依此类推 下面是将单个电子邮件的正文导出到excel的代码 Sub ExportToExcel() Dim xExcel As Excel.Application Dim xWb As Workbook Dim xWs As Workshe
Sub ExportToExcel()
Dim xExcel As Excel.Application
Dim xWb As Workbook
Dim xWs As Worksheet
Dim xInspector As Inspector
Dim xItem As Object
Dim xMailItem As MailItem
Dim xDoc As Document
Dim xShell As Object
Dim xFilePath As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a Folder:", 0, 0)
If TypeName(xFolder) = "Nothing" Then Exit Sub
Set xFolderItem = xFolder.Self
xFilePath = xFolderItem.Path & "\"
Set xItem = Outlook.Application.ActiveExplorer.Selection.Item(1)
If xItem.Class <> olMail Then Exit Sub
Set xMailItem = xItem
Set xInspector = xMailItem.GetInspector
Set xDoc = xInspector.WordEditor
xDoc.Application.Selection.Range.Copy
xInspector.Close olDiscard
Set xExcel = New Excel.Application
Set xWb = xExcel.Workbooks.Add
Set xWs = xWb.Sheets.Item(1)
xExcel.Visible = False
xWs.Activate
xWs.Paste
xWs.SaveAs xFilePath & "Daily Totals.xlsx"
xWb.Close True
xExcel.Quit
Set xWs = Nothing
Set xWb = Nothing
Set xExcel = Nothing
End Sub
子ExportToExcel()
Dim xExcel作为Excel.Application
Dim xWb作为工作簿
将xWs设置为工作表
检查员
作为对象的Dim xItem
Dim xMailItem作为MailItem
Dim xDoc作为文档
Dim xShell作为对象
将xFilePath设置为字符串
出错时继续下一步
设置xShell=CreateObject(“Shell.Application”)
设置xFolder=xShell.BrowseForFolder(0,“选择文件夹:”,0,0)
如果TypeName(xFolder)=“Nothing”,则退出Sub
设置xFolderItem=xFolder.Self
xFilePath=xFolderItem.Path&“\”
Set xItem=Outlook.Application.ActiveExplorer.Selection.Item(1)
如果是xItem.Class olMail,则退出Sub
设置xMailItem=xItem
设置xInspector=xMailItem.GetInspector
设置xDoc=xInspector.WordEditor
xDoc.Application.Selection.Range.Copy
xInspector,关闭olDiscard
设置xExcel=New Excel.Application
设置xWb=xExcel.Workbooks.Add
设置xWs=xWb.Sheets.Item(1)
xExcel.Visible=False
xWs.Activate
粘贴
xWs.SaveAs xFilePath和“Daily Totals.xlsx”
xWb.Close为真
xExcel,退出
设置xWs=Nothing
设置xWb=Nothing
设置xExcel=Nothing
端接头
感谢您的帮助。这将指导您: