Untuk menggambarkan penggunaan Script Aplikasi untuk tujuan tersebut, saya menulis fungsi yang menjumlahkan nilai yang dipilih dalam dokumen: baik dalam tabel, atau dalam paragraf, atau dalam beberapa paragraf, dll.
Itu dipanggil oleh perintah menu "Sum terpilih", ditemukan di bawah "Kustom"; item menu ini dibuat ketika dokumen dibuka. Teks pemilihan dibagi dengan spasi putih, dan kemudian masing-masing bagian ditafsirkan sebagai angka (jika mungkin). Nomor tersebut ditambahkan dan hasilnya ditampilkan kepada pengguna melalui alert
dialog. (Saya mempertimbangkan untuk memasukkannya ke dalam dokumen, tetapi tidak ada tempat alami untuk itu: ketika pengguna memilih teks, posisi kursornya hilang.)
Ini adalah perhitungan satu kali; jika nilainya diubah, orang perlu melakukannya lagi.
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);
}
}