简体   繁体   English

我想通过谷歌电子表格脚本从许多工作表中的一些工作表中更改单元格值

[英]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);
       }
    }
  )
}

Modification points:修改点:

  • new RegExp has no property of sheetName . new RegExp没有sheetName的属性。 Ref By this, undefined is alwasy returned. Ref这样,总是返回undefined的。 I think that this might be the reason of your issue.我认为这可能是您的问题的原因。
  • In your case, I think that includes can be used for the if statement.在您的情况下,我认为includes可用于 if 语句。

When above points are reflected to your script, it becomes as follows.当以上几点反映到您的脚本时,它变成如下。

Modified script:修改后的脚本:

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);
    }
  });
}
  • When this modified script is run, in your sample sheet names, 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.31week01,week02,week53中运行sheet.getRange(NotationRange).setValue(year+'.'+sheetName)sheet.getRange(NotationRange).setValue(year+'week'+sheetName) ,分别。

Note:笔记:

  • In this modified script, from your sample sheet names, it supposes that the sheets with the sheet name includes both week and .在此修改后的脚本中,根据您的示例工作表名称,它假定具有工作表名称的工作表同时包含week. are not used.不使用。

Reference:参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我想在谷歌表上更改这个脚本 - I want to change this Script on google sheet 如何从谷歌电子表格动态设置值到另一个谷歌电子表格单元格 - How to set dynamically value from a google spread sheet to another google spread sheet cell 使用谷歌应用程序脚本从 MYSQL 数据库中获取数据时,谷歌电子表格中的单元格中缺少某些值 - Some Values are missing in the cells in google spread sheet when fetching the data from MYSQL Database using google app script 如何使用脚本编辑器在Google电子表格中设置单元格的值? - How to set a value of a cell in google spread sheet using script editor? 获取特定表的谷歌电子表格的字体单元格和背景色单元格 - getting font cell and backcolor cell of a specific sheet of google spread sheet Google脚本-如何通过在工作表2中搜索那些值来替换工作表1中的单元格值,以及如何从工作表2的另一列返回相关数据 - Google Script - how to replace cell values in Sheet 1 by searching Sheet 2 for those values and returning correlating data from another Sheet 2 column 如何从自定义 HTML 侧边栏中更改 Google 表格单元格中的值? - How to change values in cell of Google Sheet from custom HTML sidebar? 如何触发参考值从单元格中的另一个工作表更改? [Google工作表脚本] - How trigger a reference value change from another sheet in a cell ? [google sheet script] 如何使用 Google 脚本从电子表格的选定单元格区域生成 PDF? - How to generate PDF from a selected cell area of a spread sheet with Google script? Google Apps脚本-从另一个工作表导入工作表值 - Google apps script - Importing sheet values from another sheet
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM