Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige