【问题标题】:Run a script function after Paste粘贴后运行脚本函数
【发布时间】:2016-10-20 16:53:08
【问题描述】:

我正在为停车场设计一张桌子,可以控制进出汽车的时间,以及支付多少费用。 一张名为“Ingreso”的工作表,在单元格 C2 中将手动插入提供给客户的票号。 在那张纸上有一个按钮,当点击运行函数 copyAndDelete 时,它​​是以下脚本:

function copyAndDelete () {
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var source = ss.getRange ("Ingreso!C2:C2");
  var destSheet = ss.getSheetByName("Prueba");
  // Determinar la ubicación de la primera fila vacía.
  var destRange = destSheet.getRange(destSheet.getLastRow()+1,1);
  source.copyTo (destRange, {contentsOnly: true});
  source.clear ();

}

function onEdit(event)
{
  var RegistEnt = 'Registro'; //Es la hoja que estamos cambiando dinámicamente
  var lcol = 1; //# Columna izquierda que se está evaluando
  var tcol = 2; //# Columna donde estampamos la hora fecha actual.
  //

  var s = SpreadsheetApp.getActiveSheet(); //Activa la hoja de calculo en la que se esta trabajando el Script
  var sname = s.getName();

 if (sname == RegistEnt)
  {
    var r = SpreadsheetApp.getActiveRange(); //Activa el rango donde se captura el texto
    var scol = r.getColumn(); 
    if (scol >= lcol && scol <= tcol)
    {
      s.getRange(r.getRow(), tcol).setValue(new Date()); //Dispara el registro en la columna donde va el resultado
    }
  }
}

我在同一个电子表格中有另一张名为“Registro”的表格,其中将在第 1 列中粘贴票号,在第 2 列中将生成插入票号的日期和时间。我放了一个脚本,当编辑第 1 列时,它会将日期和时间放在第 2 列中。这是脚本:

function onEdit(event)
{
  var RegistEnt = 'Registro'; //Es la hoja que estamos cambiando dinámicamente
  var lcol = 1; //# Columna izquierda que se está evaluando
  var tcol = 2; //# Columna donde estampamos la hora fecha actual.
  //

  var s = SpreadsheetApp.getActiveSheet(); //Activa la hoja de calculo en la que se esta trabajando el Script
  var sname = s.getName();

 if (sname == RegistEnt)
  {
    var r = SpreadsheetApp.getActiveRange(); //Activa el rango donde se captura el texto
    var scol = r.getColumn(); 
    if (scol >= lcol && scol <= tcol)
    {
      s.getRange(r.getRow(), tcol).setValue(new Date()); //Dispara el registro en la columna donde va el resultado
    }
  }
}

问题是它有 onEdit 功能,所以它不插入日期和时间,因为我必须编辑工作表“Registro”的第 1 列中的单元格,但我希望它把日期和时间放在后面函数 copyAndDelete 将值粘贴到工作表“Registro”中

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您可以尝试onpaste 事件来触发脚本:

    var el = document.getElementById('sourceCol');
    el.addEventListener('paste', onEdit);
    

    阅读有关onpaste 事件here 的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多