首页 > 解决方案 > 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

标签: office365office-js

解决方案


在您搜索字符串并调用range.insertText("....","replace"). 这个 insertText 方法也将返回一个范围,然后你可以调用range.insertContentControl它。

欲了解更多信息,请参阅以下链接:

Office.js 选择文本并替换它

使用 Office 加载项搜索和替换数据

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

请参考以下代码:

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

欲了解更多信息,请查看以下链接:

复制文本


推荐阅读