在开发MS Word加载项时如何使用Office.js从开始和结束索引获取范围

时间:2019-06-27 17:48:53

标签: ms-word office-js word-addins

我想从父段中按字符索引获取子范围。建议这样做的方法是什么?我发现缩小范围的唯一方法是“ 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编写markdown插件,并且试图解析以下段落。

A **bold** word

降价解析器的输出为{style:“ strong”,开始:2,结束:9}。因此,我想将粗体样式应用于定位范围。

1 个答案:

答案 0 :(得分:1)

找到了一种方法。关键是要向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()
}