Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Visual Studio

GELÖST

Maitems in List(of T)

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

29.11.2013 um 09:41 Uhr, 2330 Aufrufe, 10 Kommentare, 5 Danke

Hallo,

Ich würde gerne E-Mails, die in ein OL-Exchange-Postfach eingehen, in einer List(of T) ablegen, um sie dann später daraus zur Weiterbearbeitung zu entnehmen.
Die Variable "lstMailItemsReceivedLive" ist definiert, die Überwachung des Postfachs funktioniert:

Alt 1:
01.
Public lstMailItemsReceivedLive As List(Of Microsoft.Office.Interop.Outlook.Items)
Alt 2:
01.
Public lstMailItemsReceivedLive As List(Of Object)
01.
Public Sub olInboxItems_ItemAdd(ByVal Item As Object) Handles olInboxItems.ItemAdd 
02.
   lstMailItemsReceivedLive.Add(Item) 
03.
End Sub
Ich erhalte folgende Fehlermeldungen:
Alt 1:
"Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Schnittstellentyp "Microsoft.Office.Interop.Outlook.Items" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063041-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE))."

Alt 2:
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

Kann mir jemand sagen, was ich wo wie zu ändern habe?

Neugierige Grüße,
Andreas
Mitglied: colinardo
29.11.2013, aktualisiert um 11:15 Uhr
Hallo Andreas,
das sollte problemlos gehen...
01.
Public lstMailItemsReceivedLive As new List(Of Microsoft.Office.Interop.Outlook.MailItem)
du solltest aber noch zusätzlich prüfen ob das übergebene Objekt im ItemAdd-Event tatsächlich ein MailItem ist indem du die Klasse des Objekts überpüfst.
01.
Public Sub olInboxItems_ItemAdd(ByVal Item As Object) Handles olInboxItems.ItemAdd 
02.
  If Item.Class = Microsoft.Office.Interop.Outlook.OlObjectClass.olMail Then 
03.
     lstMailItemsReceivedLive.Add(Item) 
04.
  End if 
05.
End Sub
Wenn das obige bei dir nicht geht, dann hast du anstatt des .NET Assemblies von Outlook, die COM-Variante als Referenz eingebunden.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
29.11.2013, aktualisiert um 11:57 Uhr
Hallo Uwe,

in der Tat (Du hast ne Kristall-Kugel...?) ist die COM-Variante eingebunden...
Wo bekomme ich die .NET-Assemblies von Outlook (Office, Word...) her, wenn diese nicht in Verweise --> Hinzufügen --> .NET gelistet sind?

Könnte man das "Problem" auch irgendwie mit der COM-Variante lösen?

Grüße,
Andreas
Bitte warten ..
Mitglied: ahstax
29.11.2013 um 12:23 Uhr
Kann es sein, dass die DLLs in

Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.5.50938 RTMRel

Installierte Version: VB Express

Microsoft Visual Basic 2010 01012-169-2510015-70173
Microsoft Visual Basic 2010

nicht verwendet werden dürfen bzw importiert werden können?
Bitte warten ..
Mitglied: colinardo
29.11.2013 um 12:25 Uhr
Yip, mit den Express Editionen darfst du keine Office-Anwendungen programmieren...
Bitte warten ..
Mitglied: ahstax
29.11.2013 um 12:26 Uhr
Ein Ärgernis...

Komme ich also leider nochmals zurück zu meiner Frage:
Könnte man das "Problem" auch irgendwie mit der COM-Variante lösen?
Bitte warten ..
Mitglied: colinardo
29.11.2013, aktualisiert um 12:35 Uhr
also bei mir geht's so wie ich es oben beschrieben habe auch mit der COM-Variante (getestet mit Visual Studio 2010 Professional).
Du hast die Listen nicht mit New erzeugt, deshalb bekommst du den Fehler :
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
Und auch die Objekttypen der Liste stimmen nicht.
Bitte warten ..
Mitglied: ahstax
29.11.2013 um 12:34 Uhr
Schreibe ich dann also einfach statt

01.
Public lstMailItemsReceivedLive As List(Of Microsoft.Office.Interop.Outlook.Items)
01.
Public lstMailItemsReceivedLive As New List(Of Microsoft.Office.Interop.Outlook.Items)
Bitte warten ..
Mitglied: colinardo
29.11.2013, aktualisiert um 13:24 Uhr
lese doch mal bitte meinen ersten Post richtig:
01.
Public lstMailItemsReceivedLive As new List(Of Microsoft.Office.Interop.Outlook.MailItem)
Das Objekt in der Liste ist immer als Objekt-Typ in der Einzahl zu sehen nicht in der Mehrzahl. Du übergibst ja nicht eine ganze Liste an Mails an die Liste, sondern nur eine Mail auf einmal.
Bitte warten ..
Mitglied: ahstax
29.11.2013 um 12:40 Uhr
Verzeihung bitte, ich hatte das "Mail"-Item und "New" beim Lesen übersehen.

So funktioniert es!

Danke für Deine Hilfe!
Bitte warten ..
Ähnliche Inhalte
Viren und Trojaner
Ransomeware - Liste
gelöst Frage von ArnoNymousViren und Trojaner5 Kommentare

Hallo, wieder mal hat eine Cryptotrojaner zugeschlagen. Backup ist vorhanden, aber nur vom Mittwoch. Entsprechende Person war daraufhin nicht ...

Exchange Server
Autovervollständigen Liste
Frage von BleifussExchange Server4 Kommentare

Hallo, gibt es eine Möglichkeit, die Autovervollständigen-Liste im Outllook, bei allen Usern zu löschen, die ein Postfach auf dem ...

C und C++
Verkettete Listen
Frage von ProtectedC und C++

Hallo, ich habe schon gegoogelt, aber komme nicht auf die Lösung. Und zwar soll der Benutzer einen Wert eingeben, ...

Grafik
T-Shirt durch Vektorgrafik
gelöst Frage von ModdryGrafik8 Kommentare

Huhu :) Ich habe von einer guten Freundin eine Mail bekommen mit 2 .jpg Bilder (T-Shirt vorne und einmal ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 8 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 15 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 19 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...