У меня было решение, которое получило paraId среды выполнения, а затем использовало его, чтобы найти локальное имя стилена в openXML, но кажется, что оно может отсутствовать, и я не знаю, как убедиться, что оно всегда там. Это приемлемая скорость, когда она работает (после загрузки officeOpenXMl около 1-2 мс на диапазон). Смотрите предыдущий пост:
Слово VSTO - почему иногда отсутствует paraId
Мне нужен стиль для каждого абзаца в выбранном диапазоне. Paragraph.range.wordopenxml
будет работать, но это более неэффективно, чем range.get_style (); ~ 60-70мс на диапазон.
Я пробовал range.get_style()
, но это также слишком медленно ~ 20-30 мс на диапазон.
Word.Range selectedRange = Globals.ThisAddIn.Application.Selection.Range;
Word.Range firstPara = selectedRange.Paragraphs.First.Range;
Word.Range lastPara = selectedRange.Paragraphs.Last.Range;
while (firstPara.Start <= lastPara.Start)
{
//I need to get the style NameLocal for paragraph in this range (firstPara).
firstPara.MoveStart(Word.WdUnits.wdParagraph, 1);
firstPara.MoveEnd(Word.WdUnits.wdParagraph, 1);
}