如果在文档中选择了21个段落中的20个换行符(仅选择了换行符),则下面的代码应该将长度设置为20,而不是它给出0,我出错的地方?
selectnewlines();
var selection = DocumentApp.getActiveDocument().getSelection();
showAlert(selection.getRangeElements().length);
if (selection) {
showAlert('there is selection');
var elts = selection.getRangeElements();
showAlert(elts.length);
for (var i = elts.length - 1; i >= 0; i--) {
var elt = elts[i];
if (elt.getElement().editAsText) {
var txt = elt.getElement().editAsText();
//if (elt.isPartial()) {
txt.deleteText(elt.getStartOffset(), elt.getEndOffsetInclusive());
// }
}
}
}
答案 0 :(得分:0)
我认为问题在于换行实际上不是字符,所以它们不能成为选择中的元素。当我在if语句中使用Logger.log('text')
运行脚本时,我得不到结果,这意味着脚本不会将换行视为选择。如果这是正确的,那么你得到的长度就是0。
我写了一个处理换行符的附加组件,所以如果你让我知道你想要对你选择的新行做什么,我可能会告诉你如何去做。例如,您是否只想计算较长文本选择中的换行数?