在我的 Office-JS 加载项中,我插入一个带有尾随换行符的文本,并将光标设置到该文本的末尾,如下所示:
function myInsertTest() {
Word.run(function(context) {
var selectedRange = context.document.getSelection();
selectedRange.insertText("myText", "End");
selectedRange.insertText("\r\n", "End");
selectedRange.select("End");
return context.sync();
});
}
在 Windows 上的 Word 2016 中,光标正确设置为第二行,但在 Word for Mac(版本 16.11)中,光标设置为第一行末尾。
因此,如果我连续运行此函数 3 次,则会产生以下文本:
在 Windows 上:
myText
myText
myText
<-- Cursor is here
在 Mac 上:
myTextmyTextmyText<-- Cursor is here
// 3 new lines following
我错过了什么吗?
最佳答案
您可以通过允许 Word 为您处理换行问题来避免处理这种问题。诀窍是提供插入 HTML <br>
使用 insertHtml()
标记相反:
function myInsertTest() {
Word.run(function(context) {
let selectedRange = context.document.getSelection();
selectedRange.insertText("myText", "End");
selectedRange.insertHtml("<br /> ", "End");
selectedRange.select("End");
});
}
请注意
需要避免 Word 过于聪明而忽略其后没有任何内容的中断。
关于javascript - Office-JS 忽略 Word for Mac 中的尾随换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49279062/