Офис - JS создать копию абзаца - PullRequest
0 голосов
/ 16 октября 2018

как можно дублировать текст в документе?

Например, я реализовал поиск в документе по одному слову, а затем я изменяю это слово на другое.Но теперь я хочу клонировать первый текст (или абзац), в котором я ищу специальное слово, и просто вставить его с измененными словами рядом с первой его версией ....

В документе это будет выглядеть так:что:

Lorium ipsum cat scater
Lorium ipsum dog scater

В этом примере искомый текст - «кошка», а замена - «кошка», так как я могу сделать это с 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 голосов
/ 17 октября 2018

После того, как вы обыскали строки и позвоните 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);
};

Для получения дополнительной информации, пожалуйста, просмотрите ссылку, как показано ниже:

Копирование текста

...