[英]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);
}
}
)
}
in google spreadsheet script在谷歌电子表格脚本中
upper code is work well and fast but, It change all of sheet上面的代码工作得很好而且很快,但是它改变了所有的工作表
sheet name has rule.工作表名称有规则。 so, it can be distinguished
所以可以区分
what I want is change cell value in specific sheet that sheet name contain [week]我想要的是更改工作表名称包含的特定工作表中的单元格值 [周]
in my sheet name are [Reference],[01.01],[01.02],,,,[12.31],[week01],[week02],,,[week53]在我的工作表名称中是 [Reference],[01.01],[01.02],,,,[12.31],[week01],[week02],,,[week53]
so I tried but fail..所以我尝试但失败了..
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
has no property of sheetName
. new RegExp
没有sheetName
的属性。 Ref By this, undefined
is alwasy returned. undefined
的。 I think that this might be the reason of your issue.includes
can be used for the if statement.includes
可用于 if 语句。 When above points are reflected to your script, it becomes as follows.当以上几点反映到您的脚本时,它变成如下。
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
and week01,week02,week53
run sheet.getRange(NotationRange).setValue(year+'.'+sheetName)
and sheet.getRange(NotationRange).setValue(year+'week'+sheetName)
, respectively.01.01,01.02,12.31
和week01,week02,week53
中运行sheet.getRange(NotationRange).setValue(year+'.'+sheetName)
和sheet.getRange(NotationRange).setValue(year+'week'+sheetName)
,分别。week
and .
week
和.
are not used.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.