我正在尝试编写一个用于文档的 Google Apps 脚本,该脚本将插入一些文本,然后将插入的文本添加到命名范围。为了确保插入的文本保存到命名范围,我只想选择插入的文本。
这是代码:
function insertText() {
var doc = DocumentApp.getActiveDocument();
var docUi = DocumentApp.getUi();
var cursor = doc.getCursor();
if (cursor) {
var insert = cursor.insertText('{insertedtext}');
var rangeBuilder = doc.newRange();
if (insert) {
rangeBuilder.addElement(insert);
} else {
docUi.alert('Cannot insert text here.');
}
} else {
docUi.alert('Cannot find a cursor.');
}
var savedInsert = rangeBuilder.build()
doc.addNamedRange('myInsertedText', savedInsert)
doc.setSelection(doc.getNamedRangeById('myInsertedText').getRange());
}
当我运行脚本时,doc.setSelection(doc.getNamedRangeById('myInsertedText').getRange());
生成以下错误:
类型错误:无法调用 null 的方法“getRange”。
知道我做错了什么吗?
'myInsertedText'
实际上是namedRange的名称,而不是id:
var namedRange = doc.addNamedRange('myInsertedText', savedInsert);
var namedRangeId = namedRange.getId();
doc.setSelection(doc.getNamedRangeById(namedRangeId).getRange());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)