如何使用JS API在MS Office Word加载项中以编程方式获取Word文档中文本的范围

问题描述 投票:0回答:1

我需要以编程方式(通过MS Office加载项)获取Word文档中文本的数值范围(例如:起点30,终点35),但是我找不到如何通过JS做到这一点。这是一个例子:

[你好,我的朋友皮特,我昨天和你的朋友罗伯特谈过,他告诉了他的朋友安。

所以,我需要获取我想要的任何单词的范围,并为未来的开发创建单词范围的数组。例如,如果我们谈论单词“ Pete”,则其范围应为(16,20),如果文本的开头为0。当我在Internet上进行研究时,发现一些信息似乎似乎是不可能的与JS API有关。

但是我在.NET文档中发现了这样的功能。链接在这里https://docs.microsoft.com/en-us/visualstudio/vsto/how-to-programmatically-define-and-select-ranges-in-documents?view=vs-2019

所以最后一个问题。是否有可能(如果是,是否非常复杂,我该如何实现)执行我上面使用JS API描述的功能,或者我应该切换到.NET以免浪费时间。

ms-word ms-office office-js office-addins word
1个回答
0
投票

我假设您的意思是get范围的数值范围,而不是要使用已经必须获得范围的数值范围。因此,如果我了解您想要做什么,那么建议您尝试以下操作:

获得对整个文本的引用作为Range对象。然后使用Range.split方法获取“ Pete”之前的范围。返回的text集合的第一个成员的ranges是“你好,我的朋友”。该字符串的长度是您的起点。您的终点是起点和“ Pete”的长度之和。

var target = "Pete";
var ranges = myRange.split([target], true, true, false);
var precedingRange = ranges.getFirst();
var startPoint = precedingRange.text.length;
var endPoint = starPoint + target.length; 
© www.soinside.com 2019 - 2024. All rights reserved.