-1

JACOB Java Com Bridge を介して Outlook からすべての連絡先を取得する Java アプリケーションを開発しています。Outlook には、標準フォルダ "Meine Kontakte" / "My Contacts" と関連するサブ フォルダ "Kontakte" / "Contacts" があります。すべてが正常に機能し、すべての連絡先を取得しています。しかし、「Test」などの別のサブフォルダーを作成すると、このフォルダー内の連絡先が Java アプリケーションに表示されません。デフォルトのフォルダの連絡先だけが取得されるようです...しかし、私はすべての連絡先が必要です。誰かが解決策を知っていますか?

コードは次のとおりです。

    final int olFolderContacts = 10;
    contact = new Vector<Contact>();
    ActiveXComponent ol = new ActiveXComponent("Outlook.Application");
    @SuppressWarnings("unused")
    Dispatch dsp = new Dispatch();
    Dispatch olo = ol.getObject();
    Dispatch myNamespace = Dispatch.call(olo, "GetNamespace", "MAPI")
            .toDispatch();
    Dispatch myFolder = Dispatch.call(myNamespace, "GetDefaultFolder",
            new Integer(olFolderContacts)).toDispatch();
    Dispatch items = Dispatch.get(myFolder, "Items").toDispatch();
    int count = Dispatch.call(items, "Count").toInt();

    for (int i = 1; i <= count; i++) {
        Dispatch item;
        item = Dispatch.call(items, "Item", new Integer(i)).toDispatch();
        String fullName = Dispatch.get(item, "Fullname").toString();
        String birthday = Dispatch.get(item, "Birthday").toString();
        System.out.print(fullName);

    DateFormat dateFormat = new SimpleDateFormat(
            "EEE MMM dd HH:mm:ss Z yyyy");
    Calendar cal_current = Calendar.getInstance();
    // Calendar birthday !!!
    Calendar cal = Calendar.getInstance();

    SimpleDateFormat sdf = new SimpleDateFormat(
            "EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
    try {
        cal.setTime(sdf.parse(birthday));
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    @SuppressWarnings("unused")
    int monthCurrent = cal_current.get(Calendar.MONTH);
    @SuppressWarnings("unused")
    int month = cal.get(Calendar.MONTH);
            ....
4

1 に答える 1

0

わかりました、これが解決策です。特定の内部/サブフォルダーを呼び出す必要があります。ご協力いただきありがとうございます!

    Dispatch innerFolder = Dispatch.call(myFolder, "Folders","Test").toDispatch();
于 2013-11-13T15:19:48.250 に答える