SWT OLE API を使用して、Eclipse RCP で Word ドキュメントを編集しています。アクティブなドキュメントからプロパティを読み取る方法に関する記事を読みましたが、セクションなどのコレクションで問題に直面しています。
ドキュメントの本文セクションのみを取得したいのですが、オブジェクトであるセクション オブジェクトをどうすればよいかわかりませんIDispatch
。メソッドを使用する必要があると読みましたが、item
方法がわかりません。
私は解決策を見つけたので、あなたと共有します:)
ワード エディターのアクティブなドキュメントのすべての段落を一覧表示するサンプル コードを次に示します。
OleAutomation active = activeDocument.getAutomation();
if(active!=null){
int[] paragraphsId = getId(active, "Paragraphs");
if(paragraphsId.length > 0) {
Variant vParagraphs = active.getProperty(paragraphsId[0]);
if(vParagraphs != null){
OleAutomation paragraphs = vParagraphs.getAutomation();
if(paragraphs!=null){
int[] countId = getId(paragraphs, "Count");
if(countId.length > 0) {
Variant count = paragraphs.getProperty(countId[0]);
if(count!=null){
int numberOfParagraphs = count.getInt();
for(int i = 1 ; i <= numberOfParagraphs ; i++) {
Variant paragraph = paragraphs.invoke(0, new Variant[]{new Variant(i)});
if(paragraph!=null){
System.out.println("paragraph " + i + " added to list!");
listOfParagraphs.add(paragraph);
}
}
return listOfParagraphs;
}
}
}
}
}