Als ich einen Roman in meine Google Docs iPad App eintippte, verwendete er gerade auf und ab Anführungszeichen, wie folgt: "Jetzt möchte ich ändere alle diese Anführungszeichen in die geschweifte, ohne sie alle von Hand ändern zu müssenGoogle Apps Script --- Ersetzen Sie gerade Anführungszeichen durch geschweifte Klammern
Ich habe eine einfache Google Apps Script-Datei geschrieben, um das Problem zu beheben, aber wenn ich es ausführe, scheint es zu sagen "Running Funktion myFunction ... "unendlich.
Hier ist mein Code. Die ersten paar Zeilen beschäftigen sich mit Zitaten in der Mitte des Satzes, mit einer einfachen replaceText-Methode. Inzwischen testet die while-Anweisung, ob es einen Zeilenumbruch gibt (\ n) vor dem Zitat, und verwendet, um zu bestimmen, when um ein Anfangs- oder Endzitat zu setzen.
function myFunction() {
var body = DocumentApp.getActiveDocument().getBody();
//Replace quotes that are not at beginning or end of paragraph
body.replaceText(' "', ' “');
body.replaceText('" ', '” ');
var bodyString = body.getText();
var x = bodyString.indexOf('"');
var bodyText = body.editAsText();
while (x != -1) {
var testForLineBreaks = bodyString.slice(x-2, x);
if (testForLineBreaks == '\n') { //testForLineBreaks determines whether it is the beginning of the paragraph
//Replace quotes at beginning of paragraph
bodyText.deleteText(x, x);
bodyText.insertText(x, '“');
} else {
//Replace quotes at end of paragraph
bodyText.deleteText(x, x);
bodyText.insertText(x, '”');
}
x = bodyString.indexOf('"');
}
}
Ich kann nicht scheinen, zu finden, was mit ihm falsch ist. Und um die Dinge mehr zu verwirren, wenn ich auf den Debugger klicke, heißt es:
Zu viele Änderungen vor dem Speichern des Dokuments angewendet. Speichern Sie Änderungen in kleineren Batches mit Document.saveAndClose(), und öffnen Sie das Dokument mit Document.openById() erneut.
Ich schätze alle Hilfe mit diesem. Vielen Dank im Voraus!