繁体   English   中英

如何根据特定的发件人和特定的日期使用vba将Outlook邮件表复制到excel

[英]How to copy outlook mail tables to excel using vba based on a specific sender and specific date

这是代码:
另一个问题是,特定发件人是否已回复包含表的邮件,该表也是同一邮件中的副本

    Sub ImportToExcel()
     Dim OutlookApp As Outlook.Application
     Dim OutlookNameSpace As Namespace
     Dim folder As MAPIfolder
     Dim xDoc As Word.Document
     Dim xTable As Word.Table
     Dim OutlookMail As Variant
     Dim xWb As Workbook
     Dim xWs As Worksheet
     Dim xExcel As Excel.Application
     Dim xRow As Integer
     Dim i As Integer
     Set OutlookApp = New Outlook.Application
     Set OutlookNameSpace = OutlookApp.GetNamespace("MAPI")
     Set folder=OutlookNameSpace.GetDefaultFolder(olFolderInbox).Folders("DL")
     Set xExcel = New Excel.Application
     Set xWb = xExcel.Workbooks.Add
      xExcel.Visible = True
      Set xWs = xWb.Sheets(1)
       xRow = 1
        For Each OutlookMail In folder.Items
            If OutlookMail.ReceivedTime = "1/12/2019" And OutlookMail.Sender = "Vince Onal" Then
            Set xDoc = OutlookMail.GetInspector.WordEditor
            For i = 1 To xDoc.tables.Count
            Set xTable = xDoc.tables(i)
            xTable.Range.Copy
            xWs.Paste
            xRow = xRow + xTable.Rows.Count + 1
            xWs.Range("A" & CStr(xRow)).Select
                Next
               End If
               Next

                 End Sub

要获取ReceivedTime的格式,请执行以下操作:

Debug.Print " OutlookObj.ReceivedTime: " & OutlookObj.ReceivedTime

您会发现不能与“ 1/12/2019”匹配

尝试

If Format(OutlookMail.ReceivedTime, "mm/dd/yyyy") = "1/12/2019" Then

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM