如何使用JavaScript API获取word加载项中当前选择的父范围

时间:2017-03-31 06:33:43

标签: ms-word office365 office-js word-addins javascript-api-for-office

我需要在当前选择段落之后插入带有ContentControl的段落,假设当前选择位于任何段落,表格或CC的中间,我需要在此之后插入带有CC的新段落。

我尝试过以下代码来获取当前选择并将范围设置为结束,然后在其后面插入段落:

var range = context.document.getSelection().getRange("end");
range.insertParagraph("","After");

但它在当前选择之后插入段落,而不是在当前选择父级之后插入。

请指教。感谢。

1 个答案:

答案 0 :(得分:0)

您所观察到的是设计。您正在获得选择的范围。你需要做的是获得段落的范围,然后再添加另一段。

所有范围都有段落集合,第一段将包含选择的段落,因此您可以通过调用获得山雀:

context.document.getSelection()paragraphs.getFirst()getRange()insertParagraph(""后&#34);。。

完整的代码示例如下所示:



Word.run(async (context) => {
            var myParagraph = context.document.getSelection().paragraphs.getFirst().getRange().insertParagraph("", "after")
            myParagraph.insertContentControl();
            return context.sync();
        })
    
    .catch(function (error) {
        console.log(error.message)
    }) 




注意:如果选择扩展了多个段落,可能需要执行getLast()而不是getFirst(),但我不确定您的具体情况。

谢谢!