OpenOffice Calcの「マクロ」を開発しています。言語として、私はEclipseでコード支援を得るためにJavaを選択しました。私はさらに*.ods
ファイルに "マクロ"をコンパイルして埋め込む小さなant
ビルドスクリプトを書いた。一般に、これはうまく動作します。私はすでにいくつかの簡単なものを使っています。 UNO
で、私はそのオブジェクトのデータ/コール・メソッドにアクセスできるようにするには、「クエリ」任意の非自明なオブジェクトのインターフェイスをする必要があるためOpenOffice Calc UNOオブジェクトがサポートしているJavaインターフェイスを知る方法(queryInterface経由)
しかし
はそう頻繁に私は動けなくなります。つまり、文字通り、与えられたオブジェクトがどのインターフェースを提供するかを推測する必要があります。これはではありません。 Java開発中(何らかのメタ情報、リフレクションなど)で目に見えず、まばらに文書化されています(私はたくさんのものをダウンロードしましたが、ソースまたは多分、私が使用しているインタフェースのJavaDocは、XButton
、XPropertySet
などです。はsetLabel
ですが、はありません。getLabel
- 何ですか?)。
オンラインドキュメントがあります(最も基本的なコンセプトはありません)、しかし、私は直面している多くの詳細が欠けています。それは常に私が解決する必要があるポイントで魔法のように正確に停止します。
C++
コードを見て、オブジェクト(たとえば、私が現在取り組んでいるボタンなど)がどのようなインターフェースを提供しているのかという手がかりを得ることができます。曖昧に言うと、C++
のクラス名とファイル名はJavaインターフェイスと完全に一致しません。それはほぼ私が探しているものですが、その後Javaで私は相当な、またはを呼び出す特定のオブジェクトにqueryInterface
を呼び出すnull
を返します..それは少しイライラしています。
UNO Javaインターフェイスはどのように生成されますか?生成されたコード(Java)の原点となるドキュメントには、ある種のドキュメントがありますか?
私は本当にがのJava-UNO-マクロ開発中にもう少し流暢になるためには、その時点で利用可能であるかのインタフェースを知る必要がありと思います。
これは素晴らしいです!どうもありがとうございます。 Pythonのヒントも良いです、私はすでにJava/-C++ではないアプローチがより簡単なアクセスを可能にすると疑っていました。ありがとうございました! – SomeDev