Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler bei Objektvariable

Forumthread: Laufzeitfehler bei Objektvariable

Laufzeitfehler bei Objektvariable
27.02.2015 09:14:38
Werner
Hallo zusammen, nochmals zu Daten in Excel lesen.
Ich haben die das Skript nochmal geändert. Nun bekomme ich aber Laufzeitfehler:
Objektvariable oder With-Blockvariable nicht festgelegt
Ich komme da nicht weiter. Wenn jemand eine Idee hat wäre ich dankbar.
----------------------------------------
Sub TestOutlookMails()
Dim olApp      As Object   ' das Outlook-Objekt
Dim objFolder  As Object   ' der Standard-Posteingangsordner
Dim objItem    As Object   ' ein Objekt in objFolder
Dim i          As Long     ' Zeilennummer
Dim objRe      As Object   ' ein Regular-Expression Objekt
Dim objMc      As Object   ' eine MatchCollection, das Ergebnis von objRe.Execute
Dim objMatch   As Object   ' ein Match, d.h. ein Eintrag der Form "irgendwas:sonstwas"
Dim objDic     As Object   ' ein Dictionary-Objekt, Key sind die möglichen Werte vor dem  _
Doppelpunkt, Item ist die Spaltenummer wo das hinsoll
Dim varKey     As Variant  ' ein Key im Dictionary
Dim strKey     As String   ' dito
Set objDic = CreateObject("scripting.dictionary")
i = 1
Cells(1, 1).Value = "Betreff"
For Each varKey In Array("Auftragsnummer", "Kundenname", "Kundenanschrift", "Mitarbeiter", " _
Bewertung", "Datum")
i = i + 1
objDic(varKey) = i
Cells(1, i).Value = varKey
Next
Set objRe = CreateObject("vbscript.regexp")
objRe.Global = True
objRe.MultiLine = True
objRe.Pattern = "^(.*?):[ \t]*(.*?)[\r\n]?$"
Set olApp = CreateObject("outlook.application")
'Set objFolder = olApp.GetNameSpace("MAPI").GetDefaultFolder(6) ' 6 = olFolderInbox              _
' nur Posteingang  funktioniert
'Set objFolder = olApp.GetNamespace("MAPI").GetDefaultFolder(6).Folders("Meldung").Folders(" _
Extra")         'Posteingang mit Unterordner funktioniert
Set olFolderInbox = olApp.Session.Folders("WR_Kundenabfrage").Folders("Posteingang")          _
' in Outlook anderes E-Mail Konto - geht nicht
i = 2
For Each objItem In objFolder.Items
If TypeName(objItem) = "MailItem" Then
Set objMc = objRe.Execute(objItem.Body)
If objMc.Count > 0 Then
Cells(i, 1).Value = objItem.Subject
For Each objMatch In objMc
strKey = objMatch.Submatches(0)
If objDic.Exists(strKey) Then Cells(i, objDic(strKey)) = objMatch.Submatches(1)
Next
i = i + 1
End If
End If
Next
objDic.RemoveAll
Set objDic = Nothing
Set objMc = Nothing
Set objRe = Nothing
Set objFolder = Nothing
Set olApp = Nothing
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler bei Objektvariable
27.02.2015 09:48:58
Luschi
Hallo Werner,
'olFolderInbox' ist in Outlook eine numerische Konstante, die den Posteingangsordner repräsentiert.
Deshalb kann man diese Variable nicht behandeln wie ein Objekt (Set olFolderInbox = ...)
Außerdem hast Du diese Variable nicht initialisiert per 'Dim olFolderInbox As ...)
Gerade in der Zusammenarbeit Excel-Outlook muß man sorgfältiger Arbeiten!!!, auch wenn man mit 'Late-Binding' arbeitet.
Gruß von Luschi
aus kllein-Paris

Anzeige
AW: Laufzeitfehler bei Objektvariable
27.02.2015 10:18:35
Werner
Hallo Luschi, wie bekomme ich den die Posteingangsnummer heraus ?
Wo ist den Klein-Paris ?
Grüße Werner

2.Frage: lt Goethe, da hat er studiert (Faust)!
27.02.2015 20:02:53
Luc:-?
Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige