Office-js创建段落副本

时间:2018-10-16 20:31:29

标签: office365 office-js

如何在文档中复制文本?

例如,我已经实现了在文档中搜索某个单词的功能,然后将其更改为另一个单词。但是现在我想克隆第一个文本(或段落),在其中搜索特殊词,然后将其更改后的词插入到第一个文本(或版本)旁边。

在文档中将是这样:

Lorium ipsum cat scater
Lorium ipsum dog scater

在此示例中,搜索到的文本为“ cat”,替换为“ cat”,因此我如何使用Office-js进行此操作,因为在文档=(?

中找不到任何示例

下一个代码是我的搜索功能:

Word.run(function (context) {
            var doc = context.document;
            var searchResult = doc.body.search("cat", { matchCase: false });

            context.load(searchResult, 'text, font') //Queue a commmand to load the results.
            return context.sync().then(function () {
                for (var i = 0; i < searchResult.items.length; i++) {
                    var censoredText = "dog"
                    searchResult.items[i].font.highlightColor = "#FFFF00";
                    searchResult.items[i].select();
                    var selected = doc.getSelection()

                    selected.insertText(censoredText, Word.InsertLocation.replace);
                    //deselect selected and move cursor to the end
                    searchResult.items[i].select('end');
                }
            });
        })
            .catch(errorHandler)

编辑:可能很难理解我的问题... 问题是第二个-我需要复制主要段落Lorium ipsum cat scater并将其插入第二行,但单词更改为Lorium ipsum dog scater

1 个答案:

答案 0 :(得分:1)

搜索字符串并调用range.insertText("....","replace")之后。此insertText方法还将返回一个范围,然后您可以在其上调用range.insertContentControl

有关更多信息,请参考以下链接:

Office.js select text and replace it

Using an Office Add-In to search and replace data

更新:>>要复制文档中的主要段落吗?

请参考以下代码:

  const copyToClipboard = str => {
  const el = document.createElement('textarea');
  el.value = str;
  document.body.appendChild(el);
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
};

有关更多信息,请查看以下链接:

Copying text