2016-10-20 14 views
0

私は駐車場のテーブルを設計しているため、車の出入りを制御することができます。 シートには「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 
    } 
    } 
} 

私は1列にチケット番号を貼り付けます「Registro」という名前の同じスプレッドシート内の別のシートを持っているし、そして列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機能を持っているということですので、それはdoesn't日付を挿入します「Registro」シートの列1のセルを編集する必要があるためですが、コピーした後に日付と時刻をコピーする必要があります。コピー&nbsp;「Registro」シートに値を貼り付けます。

答えて

0

onpasteスクリプトをトリガーするイベント:

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

onpasteイベントhereの詳細については、こちらをご覧ください。

関連する問題