【问题标题】:Google spreadsheets: Assign a script to a button with parametersGoogle 电子表格:将脚本分配给带有参数的按钮
【发布时间】:2015-04-25 00:28:08
【问题描述】:

我可以成功地将脚本分配给 Google 电子表格中的图像。我的问题是参数传递。

我有这个脚本可以在单元格上写入当前时间。

function Time(cell){
  var  d = new Date();
  var timeAsString = d.getHours() + ":" + d.getMinutes() + "/" + d.getSeconds();

  SpreadsheetApp.getActiveSheet().getRange(cell).setValue(timeAsString); 
};

我需要一堆按钮来处理不同的单元格,所以我希望通过参数指定时间到哪个单元格。

许多交易。

【问题讨论】:

    标签: javascript google-apps-script google-sheets parameter-passing


    【解决方案1】:

    抱歉,但这并不能解决我的问题。我不想要用户输入。这个想法是为每个单元格关联一个按钮。用户只需按下一个按钮,单元格就会充满时间戳。如果用户必须输入单元名称,它就毁了。当前的解决方案有效,但很难看:

    function Time(cell){
      var  d = new Date();
      var timeAsString = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
      SpreadsheetApp.getActiveSheet().getRange(cell).setValue(timeAsString); 
    };
    
    function TimeB12(){Time('B12')};
    function TimeB13(){Time('B13')};
    
    // about 500 more cells...
    

    然后我将脚本 TimeB12 关联到单元格 B12 旁边的按钮,依此类推。

    【讨论】:

    • 您能否确认这是 2021 年现在解决此问题的唯一方法?
    【解决方案2】:

    是的,你可以xD

    您必须使用提示,要求用户输入字符串:Browser.inputBox 文档:https://developers.google.com/apps-script/reference/base/browser#inputBox%28String%29

    您的脚本使用此字符串示例:'A1'

    例如:SpreadsheetApp.getActiveSheet().getRange("A1")

    【讨论】:

      猜你喜欢
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多