【问题标题】:Google App Script get (MID) string from named rangeGoogle App Script 从命名范围获取(MID)字符串
【发布时间】:2021-08-08 20:31:47
【问题描述】:

我是 GAS 的新手,这是我在 Stackoverflow 上的第一个问题。希望我能用正确的方式为您解释我的问题。

我在名为“INPUT”和“DATA”的 1 个电子表格中有 2 个工作表。 在 INPUT 表上有一个名为“ScanNr”的命名范围(值始终为 18 位)

需要将此命名范围的值复制到工作表 DATA (col A) 的新行中。

目前我在表格 DATA (col B) 中使用 MID 公式来获取扫描的一部分。

你能帮我调整一下脚本,这样我就不用使用公式了吗? 当前公式的一个示例是“=MID(A5, 8, 4)”

这是我目前的代码:

    function SaveScan() {
    var ss       = SpreadsheetApp.getActiveSpreadsheet();
    var myForm   = ss.getSheetByName("INPUT");
    var myData   = ss.getSheetByName("DATA");
    
    var myScan   = myForm.getRange("ScanNr").getValue();
      
      myData.getRange(myData.getLastRow()+1, 1).setValue(myScan);
  //  myData.getRange(myData.getLastRow(), 2)  // ?? I don't know how to do this.

    }

我们将不胜感激。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    在你的情况下,下面的修改怎么样?我认为=MID(A5, 8, 4) 可以使用Javascript 转换为value.substr(7, 4)。而且,在你的情况下,我认为appendRow 可能是合适的。

    发件人:

    myData.getRange(myData.getLastRow()+1, 1).setValue(myScan);
    

    收件人:

    myData.appendRow([myScan, myScan.substr(7, 4)]);
    

    参考资料:

    【讨论】:

    • 太棒了!谢谢 Tanaike,这正是我所需要的,也是我理解的清晰方法。
    • @Caramel 欢迎。谢谢你让我知道。我很高兴你的问题得到了解决。如果您的问题已解决,请按接受按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。我认为您的问题和解决方案将对他们有用。如果找不到按钮,请随时告诉我。 stackoverflow.com/help/accepted-answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 2021-03-10
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多