Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Fehler 409 Schlüsselwort unzulässig
09.02.2007 12:59:16
Anthony
Also gut, : )
Vielen Dank für eure schnelle Hilfe. Allerdings sehe ich mich vor dem nächsten Problem - es wäre ja auch zu schön um wahr zu sein. Also:
Das möchte ich gerne einfügen - ich muss kurz noch mal einwerfen - ich wurschtel mich so durch in VBA leider immer noch -
Option Explicit

Sub ListBox_Fill_With_Outlook_Contacts()
Dim myOutlook  As Object
Dim conId     As Integer
Dim conFolder  As Object
Dim conItem    As Object
Dim Qe As Integer
Dim ErrMsg As String
Application.StatusBar = " . . .  die Adressen werden aus Outlook eingelesen"
Set myOutlook = CreateObject("Outlook.Application")
Set conFolder = myOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
'hier macht er immer einen Fehler bei (olFolderContacts)
Me.ListBox1.ColumnCount = 7
'Hier weiss ich ja bereits das ich die aktuelle Arbeitsmappe angeben muss
Me.ListBox1.ColumnWidths = "70; 70; 28; 70; 28; 70; 70"
For conId = 1 To conFolder.Items.Count
Set conItem = conFolder.Items(conId)
With conItem
Me.ListBox1.AddItem " "
On Error GoTo conError
Me.ListBox1.List(conId - 1, 0) = .FirstName & " " & .LastName
Application.StatusBar = "Datensatz " & conId & " von " & conFolder.Items.Count & " wird gelesen: " & .FirstName
If .BusinessAddressPostOfficeBox = "" Then
UserForm1.ListBox1.List(conId - 1, 1) = .BusinessAddressStreet
Else
UserForm1.ListBox1.List(conId - 1, 1) = .BusinessAddressPostOfficeBox
End If
Me.ListBox1.List(conId - 1, 2) = .BusinessAddressPostalCode
Me.ListBox1.List(conId - 1, 3) = .BusinessAddressCity
Me.ListBox1.List(conId - 1, 4) = .CustomerID
Me.ListBox1.List(conId - 1, 5) = .AssistantName
Me.ListBox1.List(conId - 1, 6) = .MiddleName
errorStepin:
End With
Next conId
ErrorExit:
'Object Variablen leeren
Set conItem = Nothing
Set conFolder = Nothing
Set myOutlook = Nothing
Application.DisplayAlerts = True
Application.StatusBar = False
Exit Sub
conError:
Select Case Err
Case 438
Set conItem = conFolder.Items(conId)
ErrMsg = "Datensatz " & conId & " ist korrupt, oder untestützt die Abfrage nicht."
ErrMsg = ErrMsg & vbCrLf & "Datensatzkennung:"
ErrMsg = ErrMsg & vbCrLf & "Erstelldatum: " & conItem.CreationTime
ErrMsg = ErrMsg & vbCrLf & "ObjectID" & conItem.EntryID
ErrMsg = ErrMsg & vbCrLf
ErrMsg = ErrMsg & vbCrLf & "Löschen ? "
Qe = MsgBox(ErrMsg, vbYesNo + vbCritical + vbDefaultButton2, "Datenfehler")
If Qe = vbYes Then
conItem.Delete
MsgBox ("Datensatz " & conId & " wurde gelöscht")
Resume errorStepin
Else
MsgBox "Datenimport wegen Datenfehler bei Datensatz " & conId & " abgebrochen"
Resume ErrorExit
End If
Case Else
MsgBox Err & ": " & Err.Description
Resume ErrorExit
End Select
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler 409 Schlüsselwort unzulässig
09.02.2007 13:26:37
Andi
Hi,
welche Zeile wird denn im Debug-Modus markiert?
Schönen Gruß,
Andi
AW: Fehler 409 Schlüsselwort unzulässig
09.02.2007 13:53:02
Anthony
Hallo Andi
in der Zeile 10 meckert er das erste mal...
Nehme ich die (olFolderContacts) raus streitet er bei mir bei
Set conFolder = myOutlook.GetNamespace("MAPI").GetDefaultFolder
Ich schaff einfach das Ding nicht zum laufen zu bringen. Vielleicht sollte ich noch mal ganz von vorne anfangen.
Also das Programm soll mir E-Mails von Outlook nach Excel importieren. In Excel soll diese Mails in einer Listbox erscheinen. Ich habe also eine Listbox angelegt diesen Code in ein Modul eingegeben und schaffe es trotz allem nicht. Weisst Du noch Rat ?
Übrigens sagt er zum schluss immer Laufzeitfehler 449.
Anzeige
AW: Fehler 409 Schlüsselwort unzulässig
09.02.2007 14:50:38
Peter
Hallo Anthony,
hast du den Verweis auf Microsoft Outlook 9.0 Object Library eingefügt, sprich das Häkchen gesetzt?
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Fehler 409 Schlüsselwort unzulässig
13.02.2007 11:00:33
Anthony
Hallo Peter,
könntest Du mir sagen wo ich den Verweis (Häkchen) setzen muss.
Unter set ConFolder ?
AW: Fehler 409 Schlüsselwort unzulässig
13.02.2007 14:44:00
Peter
Hallo Anthony,
in der VBA Umgebung unter Verweis scrollst du bis auf Microsoft Outlook 9.0 Object Library (9.0 kann durchaus eine andere Versin höher oder niedriger sein) und setzt dort links ins Kästchen per Klick den Haken.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Fehler 409 Schlüsselwort unzulässig
13.02.2007 16:01:00
Anthony
Super : )
Jetzt sagt er mir Datensatz 2 wäre korrupt und ob ich Ihn löschen möchte.Desweiteren schimpft er Datenimport wg. Datenfehler bei Datensatz 2 abgebrochen.
AW: Fehler 409 Schlüsselwort unzulässig
13.02.2007 16:01:00
Anthony
Super : )
Jetzt sagt er mir Datensatz 2 wäre korrupt und ob ich Ihn löschen möchte.Desweiteren schimpft er Datenimport wg. Datenfehler bei Datensatz 2 abgebrochen.
AW: Fehler 409 Schlüsselwort unzulässig
13.02.2007 16:12:00
Anthony
Vergiss was ich gerade geschrieben hab .... Ich bin so ein Rind...
Also so sieht der Code aus und ich weiss leider immer noch nicht wie es funktionieren soll. Ausgangspunkt war :
Bestimmter Ordner in Outlook soll ausgelesen werden und in einem Excel Workbook ausgegeben werden. Falls die Kurzform in der Listbox Interessant ist soll ein Klick auf den jeweiligen Eintrag genügen um die Mail zu öffnen.
Nur glaube ich hierfür nicht den richtigen Code zu haben. Außerdem soll die Excel Datei in einem Abstand von 5 Minuten das Postfach nach neuen Mails befragen (Ist hier nicht angegeben aber das war dann der Plan)....
Geht so etwas überhaupt - ich glaube nämmlich immer mehr das ich mir zu viel wünsche...
Option Explicit

Sub ListBox_Fill_With_Outlook_Contacts()
Dim myOutlook  As Object
Dim conId     As Integer
Dim conFolder  As Object
Dim conItem    As Object
Dim Qe As Integer
Dim ErrMsg As String
Application.StatusBar = " . . .  die Adressen werden aus Outlook eingelesen"
Set myOutlook = CreateObject("Outlook.Application")
Set conFolder = myOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Sheets("Tabelle1").ListBox1.ColumnCount = 7
Sheets("Tabelle1").ListBox1.ColumnWidths = "70; 70; 28; 70; 28; 70; 70"
For conId = 1 To conFolder.Items.Count
Set conItem = conFolder.Items(conId)
With conItem
Sheets("Tabelle1").ListBox1.AddItem " "
On Error GoTo conError
Sheets("Tabelle1").ListBox1.List(conId - 1, 0) = .FirstName & " " & .LastName
Application.StatusBar = "Datensatz " & conId & " von " & conFolder.Items.Count & " wird gelesen: " & .FirstName
If .BusinessAddressPostOfficeBox = "" Then
Sheets("Tabelle1").ListBox1.List(conId - 1, 1) = .BusinessAddressStreet
Else
Sheets("Tabelle1").ListBox1.List(conId - 1, 1) = .BusinessAddressPostOfficeBox
End If
Sheets("Tabelle1").ListBox1.List(conId - 1, 2) = .BusinessAddressPostalCode
Sheets("Tabelle1").ListBox1.List(conId - 1, 3) = .BusinessAddressCity
Sheets("Tabelle1").ListBox1.List(conId - 1, 4) = .CustomerID
Sheets("Tabelle1").ListBox1.List(conId - 1, 5) = .AssistantName
Sheets("Tabelle1").ListBox1.List(conId - 1, 6) = .MiddleName
errorStepin:
End With
Next conId
ErrorExit:
Set conItem = Nothing
Set conFolder = Nothing
Set myOutlook = Nothing
Application.DisplayAlerts = True
Application.StatusBar = False
Exit Sub
conError:
Select Case Err
Case 438
Set conItem = conFolder.Items(conId)
ErrMsg = "Datensatz " & conId & " ist korrupt, oder untestützt die Abfrage nicht."
ErrMsg = ErrMsg & vbCrLf & "Datensatzkennung:"
ErrMsg = ErrMsg & vbCrLf & "Erstelldatum: " & conItem.CreationTime
ErrMsg = ErrMsg & vbCrLf & "ObjectID" & conItem.EntryID
ErrMsg = ErrMsg & vbCrLf
ErrMsg = ErrMsg & vbCrLf & "Löschen ? "
Qe = MsgBox(ErrMsg, vbYesNo + vbCritical + vbDefaultButton2, "Datenfehler")
If Qe = vbYes Then
conItem.Delete
MsgBox ("Datensatz " & conId & " wurde gelöscht")
Resume errorStepin
Else
MsgBox "Datenimport wegen Datenfehler bei Datensatz " & conId & " abgebrochen"
Resume ErrorExit
End If
Case Else
MsgBox Err & ": " & Err.Description
Resume ErrorExit
End Select
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige