Autor Beitrag
simlei
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

WIN XP
D7
BeitragVerfasst: Do 26.07.07 09:07 
Hallo!
Ich bin dabei, E-Mails aus Outlook auszulesen. Das funktioniert auch ganz toll, ich kann auf alle Mails im Posteingang zugreifen und die Ordnerstruktur "entlangklettern". Das einzige Problem ist jetzt, dass ich in die Öffentlichen Ordner kommen muss. Ich hab Windws XP und Outlook 2000.

Wie gesagt kann ich schon auf die gesamte Inbox + andere Ordner zugreifen, hier der Ausschnitt des Programms, der Outlook startet und den Zugriff ermöglicht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleServer, OutlookXP, ComObj, ActiveX, ExtCtrls,
  Outlook2000;

...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
  Form1: TForm1;
  Outlook: _Application;  // OutlookApplication; for D5 users
  NmSpace: NameSpace;
  Folder: MAPIFolder;

...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Button1Click(Sender: TObject);
var
  Unknown: IUnknown;
  Result: HResult;
begin
  {$IFDEF VER120}      // Delphi 4
  Outlook := CoApplication_.Create;
  {$ELSE}              // Delphi 5
  Outlook := CoOutlookApplication.Create;
  {$ENDIF}

  NmSpace := Outlook.GetNamespace('MAPI');
  NmSpace.Logon('''', False, False);
  Folder := NmSpace.GetDefaultFolder(olFolderInbox);  // Funktioniert!
  // Folder := NmSpace.GetDefaultFolder(olPublicFoldersAllPublicFolders); //Funktioniert nicht!
  Folder.Display;

  ListAllItemsBox1();
end;


dazu einen Auszug aus: www.microsoft.com/ge...k2002.mspx?mfr=true:

Zitat:
Arbeiten mit Outlook-Ordnern und -Elementen ab Outlook 2002

Outlook-Elemente (z.B. E-Mail-Nachrichten, Termine, Aufgaben usw.) sind in Outlook-Ordnern enthalten. Diese ähneln den Dateiordnern im Windows-Dateisystem. Das MAPIFolder-Objekt kann sowohl Outlook-Ordner als auch -Elemente enthalten. Zudem können Sie die Folders-Auflistung verwenden, um MAPIFolder-Objekte auf einer bestimmten Ebene in der Outlook-Ordnerhierarchie zurückzugeben.

Die GetDefaultFolder-Methode gibt basierend auf dem FolderType-Argument den Standardordner aus (so gibt z.B. die olFolderInbox-Konstante den Ordner Posteingang für den derzeit angemeldeten Benutzer zurück). Darüber hinaus gibt es u.a. folgende Standardordner:
• Den Ordner Kalender (olFolderCalendar), der AppointmentItem-Objekte enthält (Besprechungen, einmalige Termine oder Serienbesprechungen oder -termine).
• Den Ordner Kontakte (olFolderContacts), der ContactItem-Objekte und DistListItem-Objekte enthält.
• Den Ordner Gelöschte Objekte (olFolderDeletedItems).
• Den Ordner Entwürfe (olFolderDrafts).
• Den Ordner Journal (olFolderJournal), der JournalItem-Objekte enthält.
• Den Ordner Notizen (olFolderNotes), der NoteItem-Objekte enthält.
• Den Ordner Postausgang (olFolderOutbox).
• Den Ordner Gesendete Objekte (olFolderSentMail).
• Den Ordner Aufgaben (olFolderTasks), der TaskItem-Objekte enthält.
• Den Ordner Alle öffentlichen Ordner (olPublicFoldersAllPublicFolders).


Leider funktioniert nun die Variante mit olFolderInbox, aber die mit olPublicFoldersAllPublicFolders nicht... "EOleException - Der Vorgang kann nicht erfolgreich abgeschlossen werden; mindestens ein Parameterwert ist nicht gültig".
Ich habe definitiv einen Ordner "Alle öffentlichen Ordner", also weiß ich nun nicht, woran es liegen kann.
Eine Idee? :)
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 26.07.07 09:18 
Wenn du VBA verstehst, kannst du dir das ganz unten auf meiner Seite ansehen.

Ansonsten übersetz ich es dir.

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
simlei Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

WIN XP
D7
BeitragVerfasst: Do 26.07.07 09:42 
so gehts auch - mit Namen :) - wusste ich bisher garnicht.
Aber ich habe den Fehler entdeckt - offensichtlich klappt es nur mit Office > 2000, und ich hatte 2000. Nur da auch in Office 2000 schon öffentliche Ordner existieren, hatte ich das nicht in Betracht gezogen.