0

我正在使用 SWT OLE api 在 Eclipse RCP 中编辑 Word 文档。我阅读了有关如何从活动文档中读取属性的文章,但现在我遇到了像节这样的集合的问题。

我只想检索文档的正文部分,但我不知道如何处理我的部分对象,它是一个IDispatch对象。我读到item应该使用该方法,但我不明白如何。

4

1 回答 1

1

我找到了解决方案,所以我会与你分享:)

这是一个示例代码,用于列出 word 编辑器的活动文档的所有段落:

    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;
                    }
                }
            }
        }
    }
于 2013-06-18T14:47:32.753 回答