gpt4 book ai didi

google-apps-script - 如何使用 Google Apps Docs Script 将光标移动到插入文本的末尾?

转载 作者:行者123 更新时间:2023-12-03 23:17:31 25 4
gpt4 key购买 nike

我正在为 Google Docs 编写一个插件,以允许用户从 jar 头文本示例列表中进行选择以插入到他们的文档中。我想要这样插入的文本:

1st_text_insertion

2nd_text_insertion

3rd_text_insertion

但是,我的代码结果如下:

3rd_text_insertion

2nd_text_insertion

1st_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

1st_text_insertion

2nd_text_insertion

3rd_text_insertion

existing_text_C

我尝试了几种方法,例如使用 appendText 或 getNextSibling,但它们没有产生所需的输出。谢谢你的帮助!

最佳答案

这会将光标置于插入文本的末尾。

function insertTextAtCursor(txt){
var doc=DocumentApp.getActiveDocument();
var body=doc.getBody();
var t=doc.getCursor().insertText('\n' + txt);
var txtEl=doc.getCursor().getElement();
var txtOff=doc.getCursor().getOffset();
var pos=doc.newPosition(txtEl, txtOff + 1);//I can't actually explain this. I figured out based upon the error I was getting in the console log
doc.setCursor(pos);
}

关于google-apps-script - 如何使用 Google Apps Docs Script 将光标移动到插入文本的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47502646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com