問題描述
Google Sheets Script,如何創建工作表標籤的新鬆散對象 (Google Sheets Script, how to create a NEW loose object of a sheet tab)
我找不到答案,但可能是我在尋找錯誤的東西。
我得到了一張表,其中包含字母表中每個字母的標籤,其中包括從 開始的數據那封信。我現在想將這些行複製到摘要表中,但在復制之前,我需要從每個選項卡中刪除第一行,因為那是標題,標題不應在新摘要選項卡中的所有行中一遍又一遍地出現.
如果我只是做一個選項卡的變量並刪除第一行,例如:var sheet = ss.getSheetByName(tabs[i]);
,這將反映到選項卡本身,這是錯誤的,因為標題現在在該選項卡中消失了,我可以理解,因為它不是一個新對象,而是一個引用變量。
我試圖創建一個新對象,例如:<代碼>
參考解法
方法 1:
Perhaps something like this might work:
function summaryAZ() {
const sA=['A','B','C'];//etc
const ss=SpreadsheetApp.getActive();
const sumsh=ss.getSheetByName('Summary')
sumsh.getRange(2,1,sumsh.getLastRow()‑1,sumsh.getLastColumn()).clearContent();//clear everything except header row
sA.forEach((n,i)=>{
let sh=ss.getSheetByName(n);
let [hA, ...data]=sh.getDataRange();
sumsh.getRange(sumsh.getLastRow()+1,1,data.length,data[0].length).setValues(data);
});
}
(by TechnoDude、Cooper)