2015-11-03 158 views
0

我想創建一個腳本來清除所有工作表上的固定單元格,但是前四個單元格並使用工作表名稱填充完全相同的單元格。清除單元格並獲取Google工作表名稱

到目前爲止,我有一個腳本來清空單元格,並用一個新函數填充它以獲取表單名稱。第一個腳本在打開電子表格時觸發。但是,它只是說加載...並且不提取表名。

我現在的(非工作腳本):

function sheetName() { 
    return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName(); 
} 


function clearRange() { 
SpreadsheetApp.getActive().getSheets() 
    .map(function (s, i) { 
     if (i > 3) s.getRange('B3').clearContent().setFormula('=sheetName()'); 
    }) 
} 

任何偉大的想法? 感謝

回答

0

而不是寫一個自定義函數到單元格,爲什麼不寫表單名稱本身?是這樣的...

function clearRange() { 
SpreadsheetApp.getActive().getSheets() 
.map(function (s, i) { 
    if (i > 3) s.getRange('B3').clearContent().setValue(s.getName()); 
    }) 
} 

如果需要的話,可以觸發這個函數運行的OnOpen ..

注:我想你甚至可以離開了.clearContent()部分的內容將被覆蓋任何怎麼樣。

+0

謝謝!它很棒! – frenne

0

相同的方法,但一點點修改

function clearRange(n, range) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheets = ss.getSheets(); 
    sheets.map(function(sheet,index){ 
    if (index > n) sheet.getRange(range).clearContent(); 
    }); 
} 

// call the function 
function run(){ 
    clearRange(3, 'B3') 
} 

你可以傳遞一個參數n和範圍,而不是硬編碼3,倘若你想使用的功能與其他參數

「B3」
+0

超級,謝謝! – frenne

相關問題