[英]I want change cell values from some sheet in many sheet by google spread sheet script
function UpdateCell()
{
const NotationRange = "J1";
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheets = ss.getSheets();
const year = 2020;
sheets.forEach
(
(sheet) =>
{ const sheetName = sheet.getName();
{ sheet.getRange(NotationRange).setValue(year+'.'+sheetName);
}
}
)
}
在谷歌電子表格腳本中
上面的代碼工作得很好而且很快,但是它改變了所有的工作表
工作表名稱有規則。 所以可以區分
我想要的是更改工作表名稱包含的特定工作表中的單元格值 [周]
在我的工作表名稱中是 [Reference],[01.01],[01.02],,,,[12.31],[week01],[week02],,,[week53]
所以我嘗試但失敗了..
function UpdateCell()
{
const NotationRange = "B2:D5"
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheets = ss.getSheets();
const year = 2020
const checkDailyWord = ".";
const checkWeekWord = "week";
var DC = new RegExp('\\b' + checkDailyWord + '\\b');
var WC = new RegExp('\\b' + checkWeekWord + '\\b');
sheets.forEach
(
(sheet) =>
{ const sheetName = sheet.getName();
if( DC.sheetName == 1 )
{ sheet.getRange(NotationRange).setValue(year+'.'+sheetName);
}
if( WC.sheetName == 1 )
{ sheet.getRange(NotationRange).setValue(year+'week'+sheetName);
}
}
)
}
new RegExp
沒有sheetName
的屬性。 Ref這樣,總是返回undefined
的。 我認為這可能是您的問題的原因。includes
可用於 if 語句。當以上幾點反映到您的腳本時,它變成如下。
function UpdateCell() {
const NotationRange = "B2:D5"
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheets = ss.getSheets();
const year = 2020
const checkDailyWord = ".";
const checkWeekWord = "week";
sheets.forEach(sheet => {
const sheetName = sheet.getName();
if (sheetName.includes(checkDailyWord) && !sheetName.includes(checkWeekWord)) {
sheet.getRange(NotationRange).setValue(year+'.'+sheetName);
} else if (!sheetName.includes(checkDailyWord) && sheetName.includes(checkWeekWord)) {
sheet.getRange(NotationRange).setValue(year+'week'+sheetName);
}
});
}
01.01,01.02,12.31
和week01,week02,week53
中運行sheet.getRange(NotationRange).setValue(year+'.'+sheetName)
和sheet.getRange(NotationRange).setValue(year+'week'+sheetName)
,分別。week
和.
不使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.