我需要幫助,因為我真的是這個編碼方面的新手。
我有一個包含很多作業表的電子表格,擦除每個選項卡需要做很多作業。
我在這里看到了一個帖子,并試圖適應我的需求,但它不起作用。
我需要:清除每個作業表中名為“Cicle”的文本范圍。
我有 15 張從 Cicle 1 到 Cicle 15 的床單。
我需要從每個 cicle 中清除 B5:D15 和 B20:D35 和 F5:F35 的范圍。我有一個垃圾桶的影像圖示,我將腳本分配給這個圖示。
這是我得到的:
function clearTextCicle() {
var sourceSS = SpreadsheetApp.getActive().find(sheet =>
sheet.getName().includes("'Cicle'"))
sheet.getRange('B5:B15').clearContent();
sheet.getRange('F5:F15').clearContent();
}
感謝您的關注和任何幫助!
uj5u.com熱心網友回復:
在您的情況下,如何進行以下修改?
修改后的腳本:
function clearTextCicle() {
var search = "Cicle";
var len = search.length;
var ss = SpreadsheetApp.getActive();
var sheets = ss.getSheets().filter(s => s.getName().slice( 0, len ) == search);
if (sheets.length == 0) return;
sheets.forEach(s => s.getRangeList(['B5:B15', 'F5:F15']).clearContent());
}
在此修改中,特定作業表名稱的作業表如
Cicle##usingfilter。并且,使用范圍串列清除了 2 個范圍。在這種情況下,我認為您也可以使用
var sheets = ss.getSheets().filter(s => /Cicle\d /.test(s.getName()));代替var sheets = ss.getSheets().filter(s => s.getName().slice( 0, len ) == search);.
參考:
- 篩選()
- getRangeList(a1Notations)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/479334.html
