Как получить диапазон от начального и конечного индекса с Office.js при разработке надстройки MS Word - PullRequest
0 голосов
/ 27 июня 2019

Я хочу получить поддиапазон по индексу символов из родительского абзаца. Какой предлагаемый способ сделать это? Единственный метод, который я нашел для сокращения диапазона - это "Paragraph.search ()"

ссылка: Word.Range: https://docs.microsoft.com/en-us/javascript/api/word/word.range?view=office-js Word.Paragraph: https://docs.microsoft.com/en-us/javascript/api/word/word.paragraph?view=office-js

Мой вариант использования:

Я пишу плагин уценки для MS Word и пытаюсь разобрать следующий абзац.

A **bold** word

Выходные данные анализатора уценки: {style: "strong", start: 2, end: 9}. Поэтому я хочу применить жирный стиль к диапазону таргетинга.

1 Ответ

1 голос
/ 27 июня 2019

Нашел способ только сейчас.Ключ передает пустой разделитель Paragraph.getTextRanges([""]) Я не уверен, насколько плохой будет производительность.

const makeBold = async (paragraph:Word.Paragraph,start:number,end:number) => {
  const charRanges = paragraph.getTextRanges([""])
  charRanges.load()
  await charRanges.context.sync()
  const targetRange = charRanges.items[start].expandTo(charRanges.items[end])
  targetRange.load()
  await targetRange.context.sync()
  targetRange.font.bold = true
  await targetRange.context.sync()
}
...