# Find Text
Menambahkan method baru untuk rilis v2.5
pada miniSheetDBv2
Berfungsi untuk mencari suatu text atau pola tertentu.
Tidak direkomendasikan untuk data spreadsheet yang besar, karena akan jadi lemot.
Untuk sheet yang berkapasitas besar, ada method lain yang mungkin nanti (jika tidak males hehe) akan ditambahkan atau dibuatkan tulisan khusus.
# Syntax
findText(text, regex = false, ...ranges)
Hasil: berupa array, Notasi A1.
# Source Code
Penambahan pada class init.
/*
result: ranges
tipe 1: findText('anu')
tipe 2: findText('anu', boolean[regex])
tipe 3: findText('anu', boolean[regex], range)
*/
findText(text, regex = false, ...ranges) {
let r = (arguments.length > 2) ? ranges : [this.data_range];
return this.sheet
.getRange(...r)
.createTextFinder(text)
.useRegularExpression(regex)
.findAll()
.map((r) => r.getA1Notation());
}
# Contoh
Berikut ini contoh penerapan untuk fungsi atau method findText
.
# Screenshot
# Code
Untuk mencoba, pastikan library sudah di-set ke build minimal nomor 5 dan lakukan inisasi sebagaimana biasanya.
Ini adalah potongan code (asumsi sudah paham penerapan minisheetDBv2 dan membuat fungsi sendiri).
// menemukan nama Amir pada sheet aktif
db.findText('amir');
// menemukan nama Amir pada kolom A
db.findText('amir', false, 'A1:A');
// menemukan nama yang berawalan huruf A pada kolom A
// menggunakan regex
db.findText('^A', true, 'A1:A');
// menemukan nama berawalan huruf A, menggunakan regex
// pada area range 1,1,3,10 (A1:C10)
db.findText('^A', true, 1, 1, 3, 10);
# Referensi
Untuk mendapatkan notifikasi update tentang Library GAS di Telegram @GASIndonesia
Penutup
Jangan lupa tinggalkan komentar, agar dunia mengenalmu, yang telah bersilaturrahim ke sini. Dan sekaligus mungkin ingin memberikan masukan dan saran. Silakan yak!
🙏🏼 Semoga bermanfaat ...