Поддерживается ли .oft (шаблон outlook) java или другим java API? - PullRequest
1 голос
/ 06 декабря 2011

Я хотел бы знать, поддерживается ли .oft в java?

Что я в основном хочу сделать, так это в моей java-программе, когда я нажимаю кнопку "электронная почта", она должна открыть один из моихШаблоны .oft и автоматически заполняют адресную строку некоторым адресом электронной почты из моей базы данных SQL.

В настоящее время я использую Desktop API ("mailto:") для заполнения адресной строки другим адресом электронной почты, но это толькооткрывает открытое письмо, в котором ничего нет

Также обратите внимание, я не хочу, чтобы электронные письма были автоматизированы, он должен открыть шаблон, потому что пользователю все еще нужно добавить ввод в тело письма.

Пожалуйста, дайтея знаю о любых предложениях.

Спасибо!

Ответы [ 3 ]

1 голос
/ 06 декабря 2011

Может быть возможно закодировать шаблон в URL-адресе почты

может быть хорошим началомуказывает

0 голосов
/ 08 декабря 2011

Спасибо за все ваши ответы, но нашел отличный способ сделать это, я делюсь кодом для тех, кто хочет сделать то же самое или подобное:

        Shell shell = new Shell(getDisplay());
        OleFrame frame = new OleFrame(shell, SWT.NONE);
        // This should start outlook if it is not running yet
        OleClientSite site = new OleClientSite(frame, SWT.NONE, "OVCtl.OVCtl");
        site.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
        // Now get the outlook application
        OleClientSite site2 = new OleClientSite(frame, SWT.NONE, "Outlook.Application");
        OleAutomation outlook = new OleAutomation(site2);
        // 
        OleAutomation mail = invoke(outlook, "CreateItem", 0 /* Mail item */).getAutomation();
        setProperty(mail, "To", "email@youremail.com"); /*
                                                     * Empty but could also be
                                                     * predefined
                                                     */
        //setProperty(mail, "Bcc", ""); 
                                                    /*
                                                     * Empty but could also be
                                                     * predefined
                                                     */
        setProperty(mail, "BodyFormat", 2 /* HTML */);
        setProperty(mail, "Subject", filterComboBox.getSelectedItem().toString());
        setProperty(mail, "HtmlBody", w.toString());

        invoke(mail, "Display" /* or "Send" */); 

и

private static Variant invoke(OleAutomation auto, String command,String value) 
{
    return auto.invoke(property(auto, command), new Variant[] { new Variant(value) });
}

private static Variant invoke(OleAutomation auto, String command) 
{
    return auto.invoke(property(auto, command));
}

private static Variant invoke(OleAutomation auto, String command, int value) 
{
    return auto.invoke(property(auto, command), new Variant[] { new Variant(value) });
}

private static boolean setProperty(OleAutomation auto, String name,
        String value) {
    return auto.setProperty(property(auto, name), new Variant(value));
}

private static boolean setProperty(OleAutomation auto, String name,
        int value) {
    return auto.setProperty(property(auto, name), new Variant(value));
}

private static int property(OleAutomation auto, String name) {
    return auto.getIDsOfNames(new String[] { name })[0];
}
0 голосов
/ 06 декабря 2011

Есть разъемы типа http://www.moyosoft.com/joc/, может быть, это поможет.

...