Announcement

Collapse
No announcement yet.

Problem beim Schreiben von Kontakten in Unterverzeichnissen von Outlook

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem beim Schreiben von Kontakten in Unterverzeichnissen von Outlook

    Ich muß für ein Programm auf Outlook-Kontakte zugreifen und diese auch verändern. Nun ist es aber so, daß die Kontakte in Unterverzeichnissen strukturiert sind. Über einen rekursiven Aufruf lassen sich die Daten auch gut auslesen. Leider geht aber das Schreiben dann aber nicht mehr. Wie ist mein Problem zu lösen? Etwas Quellcode habe ich angefügt. Leider konnte ich nicht entsprechendes im Forum finden.
    <P>
    Vielen Dank
    <P>
    <PRE>Procedure TGMain.ScanFolder2( Var aContacts: MAPIFolder );
    Var
    newContact: MAPIFolder;
    iCnt, Jcnt: Integer;
    aContactItem: ContactItem;
    Begin
    For Jcnt := 1 To aContacts.Folders.Count Do
    Begin
    newContact := aContacts.Folders.Item( Jcnt );
    For iCnt := 1 To newContact.Items.Count Do
    Try
    aContactItem := newContact.Items.Item( iCnt ) As ContactItem;
    aContactItem.User1 := 'Das ist ein Test';
    aContactItem.save;
    Application.ProcessMessages;
    Except
    showmessage( 'Fehler beim Schreiben eines Kontaktes in ' + newContact.Name );
    End;
    newContact.save
    ScanFolder2( newContact );
    End;
    End;
    </PRE>
    <P>
    <PRE>
    Procedure TGMain.ToolButton8Click( Sender: TObject );
    Var
    aNameSpace: NameSpace;
    aContacts: MAPIFolder;
    iCnt: Integer;
    aContactItem: ContactItem;
    Begin
    OutlookApplication1.Connect;
    aNameSpace := OutlookApplication1.GetNamespace( 'MAPI' );
    aContacts := aNameSpace.GetDefaultFolder( olFolderContacts );
    For iCnt := 1 To aContacts.Items.Count Do
    Try
    aContactItem := aContacts.Items.Item( iCnt ) As ContactItem;
    aContactItem.User1 := 'Das ist ein Test';
    aContactItem.save;
    Application.ProcessMessages;
    Except
    showmessage( 'Fehler beim Nullen eines Kontaktes in ' + aContacts.Name );
    End; // Das Klappt noch ganz prima aber der Rekursive Aufruf wird völlig ignoriert
    ScanFolder2( aContacts );
    OutlookApplication1.Disconnect;
    End;

    </PRE>

  • #2
    Hallo

    kannst du mir sagen wie man auf die kontakte zugreifen kann.

    Danke MArti

    Comment

    Working...
    X