我不确定这是开箱即用的,但这就是我所拥有的:
具有多个ContentControls的文档
它们都有相同的标签,可以通过它们找到并使用它们
那里没有问题。但是,是否有一种方法可以知道,如果在Office.js中使用两个或更多个ContentControl,则在Office.js中使用它们吗? “彼此相邻”的意思是:它们之间没有其他文本,对象等。我问是因为我正在尝试合并这样的ContentControls。这不是问题,但是认识到它们可能是一个问题。
通过Office.js是否可以实现?还是需要编写自己的自定义逻辑?
最佳答案
Word对象模型中没有内置内容可以告诉您这一点。但是您可以使用Range
方法从内容控件的compareLocationWith
中进行计算。例如:以下代码段比较了第一和第二内容控件在文档中的位置。如果第一个在第二个之前,则该方法返回AdjacentBefore
,否则它将返回Before
。
var ccs = context.document.body.contentControls;
ccs.load("items");
await context.sync();
var nrCCs = ccs.items.length;
if (nrCCs >= 2) {
var cc1 = ccs.items[0];
var cc2 = ccs.items[1];
var rng1 = cc1.getRange("Whole");
var rng2 = cc2.getRange("Whole");
var sCompareResult = rng1.compareLocationWith(rng2);
await context.sync();
console.log(sCompareResult.value);
}