ms-word - 使用 Word VSTO 或 WordOpenXML 从范围获取本地样式名称的最快方法是什么
问题描述
我有一个获得运行时 paraId 的解决方案,然后使用它在 openXML 中查找本地样式名,但似乎它可能会丢失,我不知道如何确保它始终存在。这是工作时可以接受的速度(在每个范围加载 officeOpenXMl 大约 1-2 毫秒之后)。请参阅上一篇文章: Word 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);
}
解决方案
推荐阅读
- reactjs - 在 Gutenberg ServerSideRender 完成时执行操作
- javascript - 使用 npm 在 macOS 上安装 webpack
- time-complexity - 我是否为这个关于算法时间复杂度的问题选择了正确答案?
- java - 当我添加侦听器时,所有现有节点的 ChildEventListener 的 onAddChild 都会触发
- c - 使用 C 中的合并排序或快速排序对很长的链表进行排序
- android - 在片段类的 onViewCreated() 方法中访问上下文对象 - 空上下文情况
- amazon-web-services - 负载均衡器位于区域或 AZ 的哪个位置?(对于架构图)
- javascript - 如何在全日历中显示从 api 获取事件?
- c# - 如何显示所选 ID 中的数据
- ios - 记录进度、错误、错误、请求等日志的最佳网站