Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 提取Outlook文件夹中所有电子邮件的正文_Excel_Vba_Email_Outlook_Export - Fatal编程技术网

Excel 提取Outlook文件夹中所有电子邮件的正文

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

我需要将Outlook文件夹中所有电子邮件的正文提取到Excel电子表格中。我希望每个电子邮件正文在excel文件中创建一个新的工作表

我有一个VBA宏,可以导出单个电子邮件的正文内容,但如何让它转到Outlook文件夹中的下一封电子邮件并附加excel文件,依此类推

下面是将单个电子邮件的正文导出到excel的代码

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
端接头
感谢您的帮助。

这将指导您: