【发布时间】:2017-11-27 00:57:16
【问题描述】:
我正在为 Google Docs 编写一个插件,以允许用户从预设文本示例列表中进行选择以插入到他们的文档中。我想要这样插入的文本:
第一个文本插入
第二个文本插入
3rd_text_insertion
但是,我的代码结果如下:
3rd_text_insertion
第二个文本插入
第一个文本插入
发生反向排序是因为光标位置保持在同一位置,而不是更新到最后一个文本插入的末尾。
这是我正在使用的代码:
function insertText(text) {
var doc = DocumentApp.getActiveDocument();
var cursor = doc.getCursor();
newPosition = cursor.insertText(text + '\r');
doc.setCursor(newPosition);
}
代码需要足够灵活,以便在光标所在位置插入文本,然后在返回字符后添加新条目。例如,如果用户将光标放在现有文本项 B 和 C 之间的空白行上,则插入的文本应该出现在项 B 和 C 之间的新行上。
文本插入前的示例:
existing_text_A
existing_text_B
existing_text_C
文本插入后的期望输出:
existing_text_A
existing_text_B
第一个文本插入
第二个文本插入
3rd_text_insertion
existing_text_C
我尝试了几种方法,例如使用 appendText 或 getNextSibling,但它们不会产生所需的输出。感谢您的帮助!
【问题讨论】:
-
查看this answer。
标签: google-apps-script google-docs