Run-time error 438: Object doesn't support this property or method

Odpowiedz Nowy wątek
2019-05-15 10:51
0

Nie umiem sobie poradzić z tym errorem - jestem początkujący.
Przy debugowaniu zaznacza linijkę z if na żółto - tylko jeden wiersz z if działa - reszta zamieniona na komentarz - zielony

Sub GetFromOutlook()

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("awarie WRB")

i = 1

For Each OutlookMail In Folder.Items
'If OutlookMail.ReceivedTime >= Range(“email_Receipt_Date”).Value Then
'If OutlookMail.ReceivedTime >= Range("start_Date").Value And OutlookMail.ReceivedTime <= Range("end_Date") And OutlookMail.Sender = Range("Sender") Then
If OutlookMail.ReceivedTime >= Range("start_Date").Value And OutlookMail.ReceivedTime <= Range("end_Date") And OutlookMail.Subject = Range("Subject") Then
'If OutlookMail.ReceivedTime >= Range(“email_Receipt_Date”).Value And Date <= 28 – mar – 2018 Then
Range("email_Subject").Offset(i, 0).Value = OutlookMail.Subject
Range("email_Subject").Offset(i, 0).Columns.AutoFit
Range("email_Subject").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Date").Offset(i, 0).Value = OutlookMail.ReceivedTime
Range("email_Date").Offset(i, 0).Columns.AutoFit
Range("email_Date").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Sender").Offset(i, 0).Value = OutlookMail.SenderName
Range("email_Sender").Offset(i, 0).Columns.AutoFit
Range("email_Sender").Offset(i, 0).VerticalAlignment = xlTop
Range("email_Body").Offset(i, 0).Value = OutlookMail.Body
Range("email_Body").Offset(i, 0).Columns.AutoFit
Range("email_Body").Offset(i, 0).VerticalAlignment = xlTop

i = i + 1
End If
Next OutlookMail

Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub
edytowany 2x, ostatnio: Patryk27, 2019-05-15 11:10
Pamiętaj o umieszczaniu kodu w odpowiednich znacznikach. - Patryk27 2019-05-15 11:10

Pozostało 580 znaków

2019-05-15 11:11
0

OutlookMail.ReceivedTime <= Range("end_Date") - tutaj nie miało też być Range("end_Date").Value?


edytowany 1x, ostatnio: Patryk27, 2019-05-15 11:12

Pozostało 580 znaków

2019-05-15 11:32
0

Myślę, że jednak zanim będzie sprawdzać datę wysłania, to musi sprawdzić, czy obiekt jest typu Mail. (dawno nie programowałem Outlooka, więc nie pamiętam dokładnie. Ale pamiętam, że w Folder.Items mogą być elementy róznego typu).

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0