[英]apps script and google sheets, proper way to change range of named range?
我的核心問題是我需要使用基於時間的觸發器來引用變化范圍。 由於 function 從我決定使用命名范圍開始執行,但我遇到了 setRange() 的問題。
目前我的代碼與此類似:
var newRange = sheet.getRange(startRow, startCol, lenRow, lenCol);
SpreadsheetApp.getActive().getNamedRanges()
.filter((range) => range.getName() == 'named_of_range')[0].setRange(newRange);
這有時有效,但有時 newRange 不等於“named_of_range”,這是我想更改的命名范圍。 命名范圍的高度有時會比 newRange 多 1 或少 1。 newRange 是正確的范圍,但命名范圍沒有正確更新。
希望我的解釋是有道理的,否則我很樂意分享更多我的代碼。 感謝您的任何幫助或建議!
這似乎有效:
function changeNamedRangeName() {
const ss = SpreadsheetApp.getActive();
let nr = ss.getNamedRanges();
nr.forEach(r => {
if(r.getName() == "Original") {
r.setName("New Name");
}
})
}
不是 100% 肯定,但認為這只是我代碼另一部分的錯誤。 很抱歉在測試更多我自己的程序之前詢問並感謝你們幫助我。
問題是我正在使用工作表中已經存在的項目加倍數組,同時還添加到同一個數組。 長度用於確定產生問題的命名范圍的長度。 我仍然不確定為什么該范圍有時可以,而其他時候則不行,但至少它正在工作(目前)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.