# Kontakte von Outlook mit Java auslesen?



## Hetthornie (15. Oktober 2003)

Hey,

möchte gerne die Kontakte von Outlook auslesen. Kann mir da einer helfen? Vielen dank schon mal...

Gruß

Horny


----------



## Thomas Darimont (15. Oktober 2003)

Servus!

Schau doch mal hier:

http://forum.java.sun.com/thread.jsp?forum=52&thread=268032

Gruß Tom


----------



## Hetthornie (15. Oktober 2003)

*Danke ! Aber..*

Danke! Habe es jetzt soweit hinbekommen (siehe http://danadler.com/jacob/). Unter Eclipse läuft es unter console(java/javaw) nicht. Fehlermeldung:ComFailException.. Siehe Kommentar im Quellcode.

Kannst du mir da helfen

Gruß

Horny



import com.jacob.activeX.*;

import com.jacob.com.*;


public class getContacts {
    public static void main(String[] args) {
        final int olFolderContacts = 10;

        ActiveXComponent ol = new ActiveXComponent("Outlook.Application");
        Dispatch dsp = new Dispatch();

        Object olo = ol.getObject();
        Object myNamespace = Dispatch.call(olo, "GetNamespace", "MAPI")
                                     .toDispatch();
        Object myFolder = Dispatch.call(myNamespace, "GetDefaultFolder",
                new Integer(olFolderContacts)).toDispatch();

//nächste zeile Fehlermeldung

       Object items = Dispatch.get(myFolder, "Items").toDispatch();

        int count = Dispatch.call(items, "Count").toInt();

        for (int i = 1; i <= count; i++) {
            Object item;
            item = Dispatch.call(items, "Item", new Integer(i)).toDispatch();

            String fullName = Dispatch.get(item, "Fullname").toString();
            String emailAddress = Dispatch.get(item, "Email1Address").toString();
            String addressStreet = Dispatch.get(item, "BusinessAddressStreet")
                                           .toString();
            String addressCity = Dispatch.get(item, "BusinessAddressCity")
                                         .toString();
            String addressCountry = Dispatch.get(item, "BusinessAddressCountry")
                                            .toString();
            String addressPostalCode = Dispatch.get(item,
                    "BusinessAddressPostalCode").toString();
            String addressState = Dispatch.get(item, "BusinessAddressState")
                                          .toString();
            String title = Dispatch.get(item, "Title").toString();
            String phone = Dispatch.get(item, "BusinessTelephoneNumber")
                                   .toString();
            String fax = Dispatch.get(item, "BusinessFaxNumber").toString();

            printField("", fullName);
            printField("", title);
            printField("", addressStreet);
            printField("", addressCity);
            printField("", addressState);
            printField("", addressPostalCode);
            printField("", addressCountry);
            printField("Tel:", phone);
            printField("Fax:", fax);
            printField("Email:", emailAddress);

            System.out.println();
        }
    }

    public static void printField(String label, String value) {
        if (value.length() != 0) {
            System.out.println(label + " " + value);
        }
    }
}


----------



## Hetthornie (15. Oktober 2003)

*ok, habe es...*

Liegt am JDK 1.4.2... Mit 1.4.1_04 geht es... Frage mich aber noch warum?!

Gruß

Horny


----------

