Ich schreibe ein Add-on für Google Text & Tabellen, damit Benutzer aus Listen mit vordefinierten Textbeispielen auswählen können, die sie in ihr Dokument einfügen möchten. Ich möchte den Text wie folgt eingefügt:Wie kann ich den Cursor mit Google Apps Script for Docs an das Ende des eingefügten Textes bewegen?
1st_text_insertion
2nd_text_insertion
3rd_text_insertion
jedoch meinen Code führt zu folgendem:
3rd_text_insertion
2nd_text_insertion
1st_text_insertion
Die umgekehrte Reihenfolge tritt auf, weil die Cursorposition an der gleichen Stelle verbleibt und nicht bis zum Ende der letzten Texteinfügung aktualisiert wird.
Hier ist der Code, den ich mit:
function insertText(text) {
var doc = DocumentApp.getActiveDocument();
var cursor = doc.getCursor();
newPosition = cursor.insertText(text + '\r');
doc.setCursor(newPosition);
}
Der Code muss flexibel genug sein, Text eingefügt werden, wo sich der Cursor platziert wird und dann neue Einträge nach einer Rückkehr Charakter. Wenn beispielsweise der Benutzer seine Cursor auf einer Leerzeile zwischen bestehenden Textpositionen B und C gesetzt, sollte der eingefügte Text erscheint auf neue Linien zwischen Elementen B und C.
Beispiel vor Texteinblendung:
existing_text_A
existing_text_B
existing_text_C
gewünschter Ausgang nach Texteinblendung:
existing_text_A
existing_text_B
1st_text_insertion
2nd_text_insertion
3rd_text_insertion
existing_text_C
Ich habe verschiedene Ansätze ausprobiert, wie appendText oder getNextSibling verwenden, aber sie tun es nicht produzieren Sie die gewünschte Ausgabe. Danke für jede Hilfe!
Überprüfen Sie [diese Antwort] (https://stackoverflow.com/a/28419565/7215091). – Cooper