Как скопировать почтовые таблицы outlook, чтобы преуспеть, используя vba, основываясь на конкретном отправителе и конкретной дате - PullRequest
0 голосов
/ 12 января 2019

Вот код:
Другая проблема заключается в том, что конкретный отправитель ответил на письмо, содержащее таблицы, которые также являются копиями того же письма

    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

1 Ответ

0 голосов
/ 16 января 2019

Чтобы получить ваш формат для ReceivedTime:

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

Вы найдете, что не может быть совпадения с "1/12/2019"

Попробуйте

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