Outlook と OLE クライアントを使用して、Java アプリケーションで電子メールを作成したいと考えています。
例を検索したところ、かなりの数が見つかりました。それらはすべて同じ方法で開始します。
ディスプレイ、シェル、OLE フレーム、および OLE クライアント サイトを作成します。
しかし、次のいくつかの手順でエラーが発生します。
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Outlook Automation");
shell.setLayout(new FillLayout());
OleFrame frm = new OleFrame(shell, SWT.NONE);
OleClientSite site = new OleClientSite(frm, SWT.NONE,
"Outlook.Application");
次のエラーが表示されます。
Exception in thread "main" org.eclipse.swt.SWTException: Failed to create Ole Client. result = -2147221164
at org.eclipse.swt.ole.win32.OLE.error(OLE.java:302)
at org.eclipse.swt.ole.win32.OleClientSite.<init>(OleClientSite.java:242)
at outlooktest.Main.main(Main.java:27)
私は OLE を知りません。何が間違っているのかわかりません。不足している依存関係はありますか? 誰かがこのエラーが何であるか知っていますか? エラーコードをグーグルで検索しましたが、何も見つかりませんでした。
編集
OLE が機能しない理由が誰にもわからない場合は、別の質問があります。Outlook 電子メールを作成して設定 (件名、本文など) することは可能ですか、またはライブラリはありますか?
編集2
x86 および x64 の jar ファイルが機能せず、同じエラーが発生しました。また、x86 および x64 用の SWT の最新バージョンも入手しました。OSもx64でjavaなので、x86のSWTライブラリは使えません。x64 では上記のエラーが発生します。Outlook のバージョンは 15 (Outlook 2013) です。
うまくいけば、これは役に立ちますか?
Processbuilder を介して動作するように電子メールを作成しましたが、mailto: パラメータのみを使用しました。ここでの問題は次のとおりです。
- プロセスのステータスを追跡したい。メールがいつ閉じられたか、いつ送信されたか知りたいです。
- クリップボードから本文に画像 (BufferedImage) を挿入したいのですが、これは mailto 引数では不可能です。