使用Office JS,我可以使用getSelectedDataAsync()获取当前选择,但我正在尝试找到我选择的父项和祖先,以确定选择是否在表格单元格或段落中。
有办法做到这一点吗? 如果(选择在TableCell中) 做这个 其他 找时间做
感谢大家的帮助,以下是更新后的代码:
Word.run(function (context) {
var range = context.document.getSelection();
context.load(range);
return context.sync().then(function () {
var parentTableCell = range.parentTableCellOrNullObject;
context.load(parentTableCell);
return context.sync().then(function () {
if (parentTableCell.isNullObject)
console.log("Not in a table cell");
else
console.log("In a table cell");
});
});
});
答案 0 :(得分:0)
所以说,在Document对象上有一个名为getSelection的方法,它返回一个范围。
范围包含段落集合和表格集合。取决于填写这些内容应该给你答案。
答案 1 :(得分:0)
为斯图尔特的回答添加更多细节:是的,请使用document.getSelection来获取选择的范围,并从那里获得:
要找出选择中包含的内容,请使用集合:
等。 看看这里的帮助 Select no longer highlighting text on iPad (word)
查看此示例,了解如何访问表格单元格。 请注意,在此示例中,如果选择不在表格单元格内,则会引发异常。如果你想验证你需要使用方法的parentTableCellOrNullObject风格..你可以检查是否返回了nullObject(意味着选择不在表中)
Word.run(function (context) {
context.document.getSelection().parentTableCell.body.insertText("Hello World","end")
return context.sync()
})

谢谢!