Announcement

Collapse
No announcement yet.

Outlook-Addin Adress-Listen auslesen

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

  • Outlook-Addin Adress-Listen auslesen

    Hallo Zusammen,

    ich habe ein Outlook-Addin programmiert das Adress-Listen ausliest und die Daten verarbeitet.

    Arbeitsplatz:
    Windows 7, 32bit, VS 2010, Outlook 2010.

    Es funktioniert soweit wunderbar, bis auf ein paar ungereimtheiten.

    Wird ein neuer Kontaktordner mit neuen Adressen angelegt, dann kann es vorkommen, das dieser durch das AddIn nicht erkannt wird. Ich habe bisher keine wirkliche Ursache erörtern können.

    Hier mein Code für das erkennen und auslesen der Adresslisten in ThisAddin.cs:

    [highlight=csharp]
    internal void GetDefaultContactFolder()
    {
    try
    {
    Outlook.AddressLists addrLists = this.Application.Session.AddressLists;

    if (addrLists != null)
    {
    var listOutlookFolder =
    (from Outlook.AddressList addrList
    in addrLists
    where addrList != null
    select addrList.GetContactsFolder()).OfType<Outlook.Folde r>().ToList();

    if (listOutlookFolder[0] != null)
    {
    FormContactsFinder.ListOutlookFolderParam = listOutlookFolder;
    FormRegionActivity.MerkerAdressen = true;
    }

    }
    else
    {
    WriteLog.WriteLogFile("No Adress-Lists found");
    }
    }
    [/highlight]

    An was kann es liegen, dass er nicht alle Kontaktordner die angelegt wurden erkennt. Fast alle die Probleme haben, haben ein englisches Betriebssystem. Aber es kann doch nicht daran liegen, oder?

    Vielen Dank für Eure Antworten.

    Grüße Lerando

  • #2
    Schon mal

    this.getnamespace("MAPI").addresslists

    probiert
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Schon mal

      this.getnamespace("MAPI").addresslists

      probiert
      Wie meinst Du das? Ich kann deinen Vorschlag nicht anwenden. nach this. kann ich kein getnamespace anwenden.

      Grüße Lerando

      Comment


      • #4
        dann war es ein Fehler von mir
        Christian

        Comment


        • #5
          Ach so,

          du meinst
          [highlight=csharp]
          Outlook.AddressLists addrLists = Application.GetNamespace("MAPI").AddressLists;
          [/highlight]

          Comment


          • #6
            Ich werde Deinen Tip ausprobieren.

            Vielen Dank.

            Grüße Lerando

            Comment


            • #7
              Leider bringt das auch keinen Erfolg.

              Ich habe einen Ordner kopiert und dann umbenannt und dieser Ordner kann so nicht gelesen werden.

              Hat jemand eine Idee?

              Vielen Dank für Eure Antwort.

              Grüße Lerando

              Comment


              • #8
                OK, ich habe eine Lösung gefunden.

                In den Eigenschaften der Ordner fehlte die Aktivierung "Diesen Ordner als E-Mail-Adressbuch anzeigen".

                Ich muss jetzt nur noch herausfinden, wie ich auch die Ordner auslesen kann, die keine Aktivierung für das Adressbuch besitzen.

                Vielen Dank für Eure Antwort.

                Grüße Lerando

                Comment


                • #9
                  Ich muss jetzt nur noch herausfinden, wie ich auch die Ordner auslesen kann, die keine Aktivierung für das Adressbuch besitzen.
                  Die Elemente in den Ordnern anschauen. Letzlich ist ja jeder Elementtyp in jedem Ordner erlaubt.

                  Comment


                  • #10
                    Originally posted by Ralf Jansen View Post
                    Die Elemente in den Ordnern anschauen. Letzlich ist ja jeder Elementtyp in jedem Ordner erlaubt.
                    Wie schaffe ich es, dass alle Adresslisten ausgelesen werden. Ich habe noch nichts gefunden, was das ermöglicht, wenn die Aktivierung fehlt.

                    Weiß jemand hier abhilfe? Wenn es geht mit o. g. Code-Anpassung.

                    Vielen Dank.

                    Grüße Lerando

                    Comment


                    • #11
                      Originally posted by Ralf Jansen View Post
                      Die Elemente in den Ordnern anschauen. Letzlich ist ja jeder Elementtyp in jedem Ordner erlaubt.
                      Hast Du evtl. ein Beispiel?

                      Viele Beispiele im Internet sind entweder unvollständig (unverständlich) oder weisen code/befehle auf, der/die nicht vorhanden ist/sind.

                      Vielen Dank

                      Comment


                      • #12
                        Hast Du evtl. ein Beispiel?
                        Nein ich wollte nur darauf hinweisen das jeder Ordner jedes beliebige Element enthalten kann. Wenn du also alles erwischen willst ist es also egal was für einen Ordnertyp du da hast du mußt dir jedes Elemente anschauen und rausfinden ob das eine Adresse ist.

                        Comment


                        • #13
                          Originally posted by Ralf Jansen View Post
                          Nein ich wollte nur darauf hinweisen das jeder Ordner jedes beliebige Element enthalten kann. Wenn du also alles erwischen willst ist es also egal was für einen Ordnertyp du da hast du mußt dir jedes Elemente anschauen und rausfinden ob das eine Adresse ist.
                          Leider ist es aus Performancegründen nicht so einfach. Es wurden extra Kontaktordner angelegt und irgendwie bekomme ich die nicht richtig zu Fassen.

                          Ich bekomme es einfach nicht hin, eine bestimmte Adressliste aus dem kompletten Stamm auszulesen und zwar nur die bestimmte Adressliste. Auch sollte diese ohne das Merkmal der Email-Adressliste gefunden werden.

                          Das ist nämlich mein Problem.

                          Kontakt-Adresslisten die dieses Merkmal nicht haben, kann ich nicht mit
                          [highlight=csharp]
                          Outlook.AddressLists addrLists = Application.Session.AddressLists;
                          [/highlight]
                          auslesen.

                          Selbst mit der Methode GetDefaultAddressList() nicht.

                          Aber ich muss auf diese Adresslisten zugreifen.

                          Vielleicht hat noch jemand eine Idee.

                          Grüße und vielen Dank für die Bemühungen.

                          Lerando

                          Comment

                          Working...
                          X