Ich arbeitete von einigen tutorial on MSDN um zu lernen, einige Makros für Outlook zu machen. Ich habe dieses Unterprogramm, das mit einem Type mismatch
Fehler aufgelegt wird. Beim Durchlaufen der Fehlerbehandlung nach Stop
und Resume
geht es zurück zu Next
und beendet die Abfrage.Outlook-Verteilerliste auf Kontaktelemente abfragen
Beim Durchsehen der Ergebnismenge in Immediate fehlt ein Element, das eigentlich eine Verteilerliste anstelle eines normalen Kontakts ist. Ich habe die Mailingliste zum Testen aus meinen Kontakten entfernt und der Fehler ist nicht aufgetreten.
Ich plane auch andere Mailing-Listen, wie dies für die Arbeit ist. Gibt es einen Workaround wie einen Weg, um es zu umgehen, außer sie nur woanders zu speichern? Hier
ist der Code:
Sub ContactName()
On Error GoTo ErrHandler
Dim ContactsFolder As Folder
Set ContactsFolder = Session.GetDefaultFolder(olFolderContacts)
MsgBox ("Contacts found: " & ContactsFolder.Items.Count)
Dim Contact As ContactItem
For Each Contact In ContactsFolder.Items
Debug.Print Contact.CompanyName
Next
Exit Sub
ErrHandler:
Debug.Print Err.Description
Stop
Resume
End Sub
Ich nehme an, dass das 'Mailing List' Element kein' Kontakt' ist und daher '' Für jeden Kontakt in ContactsFolder.Items' fehlschlägt, weil es nicht möglich ist, nach 'Contact' zu casten. Eine Alternative wäre, eine "FOR" -Schleife anstelle von "FOR EACH" zu verwenden. Dann sollten Sie in der Lage sein, durch die 'Items' zu iterieren und zu testen, welche Art von Item Sie haben und dementsprechend zu werfen, bevor Sie auf seine Eigenschaften zugreifen. – DeanOC
Scheint nicht zu funktionieren, das oder ich würde nicht wissen, wie man es mit einer 'FOR'-Schleife schreibt (nackter Neuling hier), aber wenn du in der Lage bist, auf deinem Rechner mit einer Mailingliste in Kontakten zu testen und posten Sie den Arbeitscode, ich werde Ihre Antwort gerne annehmen. – Phrancis