我正在使用SWT OLE api在Eclipse RCP中编辑Word文档。我阅读了有关如何从活动文档中读取属性的文章,但现在我遇到了像部分这样的集合的问题。
我只想检索文档的body部分,但我不知道如何处理我的section对象,它是一个IDispatch
对象。我读过应该使用item
方法,但我不明白。
答案 0 :(得分:1)
我找到了解决方案,所以我会与你分享:)
以下是列出单词编辑器活动文档的所有段落的示例代码:
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;
}
}
}
}
}