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

Ms word 如何使用JSAPI在MS Office Word加载项中以编程方式获取Word文档中的文本范围,ms-word,ms-office,office-js,office-addins,Ms Word,Ms Office,Office Js,Office Addins,我需要以编程方式(通过MS Office插件)获取word文档中文本的数字范围(例如:startpoint-30,endpoint-35),但我找不到如何通过JS实现这一点。 以下是一个例子: 你好,我的朋友皮特,我昨天和你的朋友罗伯特谈过了,他 告诉他朋友安的事 所以,我需要得到我想要的任何单词的范围,并为将来的开发创建单词范围数组。例如,如果我们谈论单词“Pete”,那么它的范围应该是(16,20),如果文本的开头是0。当我在互联网上对此进行研究时,我发现一些信息似乎不可能用JSAPI实现

我需要以编程方式(通过MS Office插件)获取word文档中文本的数字范围(例如:startpoint-30,endpoint-35),但我找不到如何通过JS实现这一点。 以下是一个例子:

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

所以,我需要得到我想要的任何单词的范围,并为将来的开发创建单词范围数组。例如,如果我们谈论单词“Pete”,那么它的范围应该是(16,20),如果文本的开头是0。当我在互联网上对此进行研究时,我发现一些信息似乎不可能用JSAPI实现

但是我在.NET文档中发现了这样的功能。这里是链接


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

我假设您的意思是从字面上获得一个范围的数字边界,而不是您想要使用已经获得一个范围的数字边界。因此,如果我了解您想要做什么,那么我建议您尝试以下方法:

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


我假设你的意思是得到一个范围的数值边界,而不是你想使用已经得到一个范围的数值边界。因此,如果我了解您想要做什么,那么我建议您尝试以下方法:

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


这基本上与您已经问过的问题相同:。如评论中所述,使用字符起点和终点来标识范围是不可靠的。因此,Office JS API不支持它。即使您切换到COM对象库,建议的方法也无法可靠地工作。这与您已经提出的问题基本相同:。如评论中所述,使用字符起点和终点来标识范围是不可靠的。因此,Office JS API不支持它。即使您切换到COM对象库,建议的方法也无法可靠地工作。不,我确实需要从文档中获取word,使用我已有的这些数字边界。在这种情况下,请参阅@Cindymister对您的问题的评论。不,我确实需要从文档中获取word,使用我已有的这些数字界限。在这种情况下,请参阅@Cindymister对您的问题的评论。
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;