使用office.js进行办公室加载项开发

时间:2017-08-15 10:06:36

标签: office365 office-js

我正在为word开发一个加载项。主要任务是使用来自数据库的数据填充文档中的书签。在office.js中我发现书签可以作为范围对象访问我使用“rangeObject.insertText(text,insertLocation)”方法将数据插入书签。但问题是第二个参数insertLocation值可以是'Replace','Start','End','Before'或'After'。这基本上是在书签之前或之后附加数据。就像这样 - image 1 (current result using insertLocation value 'End')

使用insertLocation值'替换'它取代整个书签,实际上从文档中删除书签!。所以我想要的是在书签中插入一个文本,如下所示 - image 2 (desired result)

注意:我必须稍后阅读这些书签值。所以没有书签可以删除。我正在使用office.js api的1.4 beta版本。

这是我的代码 -

        Word.run(function (context) {

            var doc = context.document;

            //get the bookmark range by its name
            var bookmarkRange = doc.getBookmarkRangeOrNullObject("cscasenumber01");

            //insert a data
            bookmarkRange.insertText("test data",'end');


            // Synchronize the document state by executing the queued commands, 
            return context.sync();

        }).catch(errorHandler);

1 个答案:

答案 0 :(得分:2)

非常感谢您使用我们的预览API。你刚发现它的错误!我只是重复这种行为。是的,关于之前,开始,结束,之后的语义在API上非常明确。

  1. “开始”和“结束”插入位置意味着插入将位于调用范围的边界内,在这种情况下意味着如果您使用其中任何一个,则需要将书签扩展为插入的任何内容。
  2. 另一方面,“之前”/“之后”意味着插入范围的边界之外。
  3. 最后,替换应使用作为参数提供的任何文本替换书签。
  4. 我们会解决这个问题,虽然我没有明确的时间表。 谢谢。

相关问题