【问题标题】:Function to take a string from a cell and compare it to perform an action从单元格中获取字符串并进行比较以执行操作的函数
【发布时间】:2021-03-02 16:05:39
【问题描述】:

我想让一个简单的函数工作,我希望脚本比较一个只能有两个字符串“INSERIR”或“IGNORAR”选项的excel单元格,并使界面切换到一张或另一张。 我是 Google 表格和 Javascript 的新手。

这是我的代码:

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

var source_cell = spreadsheet.getRange("C3");

if (source_cell == 'INSERIR') {
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('INSERIR ORÇAMENTO 1'), true);
} else {
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('MENU PRINCIPAL'), true);
}

【问题讨论】:

    标签: javascript string if-statement google-apps-script google-sheets


    【解决方案1】:

    问题:

    当前方法将range objectgetRange 的结果)与string 进行比较。

    解决方案:

    你需要get the value的单元格C3

    function myFunction() {
      var spreadsheet = SpreadsheetApp.getActive();
      var source_cell = spreadsheet.getSheetByName('Sheet1').getRange("C3").getValue();
      if (source_cell == 'INSERIR') {
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('INSERIR ORÇAMENTO 1'), true);
      } 
      else if (source_cell == 'IGNORAR') {
        spreadsheet.setActiveSheet(spreadsheet.getSheetByName('MENU PRINCIPAL'), true);
      }
    }
    

    注意:

    • 如果将getRange 直接应用于spreadsheet 对象,您将获得当前活动工作表的值C3。如果这是你想要的,那很好。但是,我建议您按名称获取工作表,这样您的代码就不会依赖于活动工作表。

    • Sheet1 更改为C3 具有您想要获取的值的工作表名称。

    • 我使用else if 语句,因为如果值与INSERIR 的值不同,您当前的代码将切换到MENU PRINCIPAL,但据我所知,您想切换到MENU PRINCIPAL仅当 C3IGNORAR 时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2020-03-20
      相关资源
      最近更新 更多