Um die Verwendung von Apps Script für diesen Zweck zu veranschaulichen, habe ich eine Funktion geschrieben, die ausgewählte Werte in einem Dokument summiert: entweder in einer Tabelle oder in einem Absatz oder in mehreren Absätzen usw.
Es wird über den Menübefehl "Summe ausgewählt" unter "Benutzerdefiniert" aufgerufen. Dieser Menüpunkt wird beim Öffnen des Dokuments erstellt. Der Text der Wahl wird durch Leerzeichen geteilt, und dann wird jedes Stück als Zahl interpretiert (falls möglich). Solche Nummern werden hinzugefügt und das Ergebnis wird dem Benutzer durch einen alert
Dialog angezeigt . (Ich habe überlegt, es in das Dokument einzufügen, aber es gibt keinen natürlichen Ort dafür: Wenn ein Benutzer Text auswählt, geht seine Cursorposition verloren.)
Dies ist eine einmalige Berechnung. Wenn die Werte geändert werden, müsste man sie erneut ausführen.
function onOpen() {
DocumentApp.getUi().createMenu('Custom').addItem('Sum selected', 'sum').addToUi();
}
function sum() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
var elements = selection.getRangeElements();
var s = 0;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var text = element.getElement().editAsText();
if (text) {
var str = text.getText();
if (element.isPartial()) {
str = str.slice(element.getStartOffset(), element.getEndOffsetInclusive() + 1);
}
var pieces = str.split(/\s+/);
for (var j = 0; j < pieces.length; j++) {
s += (parseFloat(pieces[j], 10) ? parseFloat(pieces[j], 10) : 0);
}
}
}
DocumentApp.getUi().alert(s);
}
}