ここで私の問題が何であるかわかりません。オフィスの訪問者に Google スプレッドシートにサインイン/サインアウトしてもらいます。これが私がそれを機能させようとしている方法です。訪問者が「in」列のチェックボックスを選択すると、次の列にタイムスタンプが表示されます。訪問者が「out」列のチェックボックスを選択すると、次の列にタイムスタンプが表示されます。現在、これがどのように機能しているかです。コード エディターに最初の関数しかない場合、タイムスタンプが列 4 に表示されます。2 番目の関数を追加すると、タイムスタンプが列 6 に表示されますが、列 4 には表示されません。2 番目の関数が最初の関数をオーバーライドしているようです。問題を修正するものは何ですか?
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SignInOut" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 3 ) { //checks the column
var nextCell = r.offset(0, 1);
if( nextCell.getValue() === '' ) //is empty?
nextCell.setValue(new Date());
}
}
}
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SignInOut" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 5 ) { //checks the column
var nextCell = r.offset(0, 1);
if( nextCell.getValue() === '' ) //is empty?
nextCell.setValue(new Date());
}
}
}