这是我的代码:
let paragraph = paragraphs.items[paragraphs.items.length - 1];
let p = paragraph.insertParagraph('', window.Word.InsertLocation.after);
if (paragraph.isListItem) {
p.detachFromList()
p.leftIndent = 0
}它工作得很好,这要归功于观察SO问题的MS人们的帮助。
然而,这在Word的桌面版本上是有效的。联机版本的Word在使用某些模板时不会结束项目符号列表,因此新内容(p)将作为列表的一部分添加。不会抛出错误。
我在一些地方尝试过paragraph.insertBreak('line'),但我不确定在这里做什么才是最好的,这样才能保持跨平台的相同用户体验。
有没有办法让它在桌面和Word的在线版本上都能正常工作?在Chrome中测试,使用模板General Notes测试项目符号列表。如果项目符号列表是由用户通过主页菜单生成的,则可以在网上正常工作,但General Notes不能工作。
发布于 2017-06-29 10:56:16
我刚刚尝试了在word online中发送给你的完全相同的代码,它也可以工作,所以你应该没问题……
在末尾插入段落后,尝试应用此方法。
Word.run(function (context) {
var listI = context.document.body.paragraphs.getLast().listItemOrNullObject;
context.load(listI);
return context.sync()
.then(function () {
if (listI.isNullObject) { // check out how i am validating if its null.
console.log("there is no list at the end")
}
else {
context.document.body.paragraphs.getLast().detachFromList();
context.document.body.paragraphs.getLast().leftIndent = 0;
return context.sync();
}
})
})
https://stackoverflow.com/questions/44805688
复制相似问题