1
私は週間のためのGoogleシートを持っています。私は現在、列Aを自動的に列Bのボックスに何かを入力する日付を記入しています。私は通常、次の会議の日付ではなく、メモを追加する日付ではないので、追加できるスクリプトがあるかどうか疑問に思ったそれは、日付Xを取って、次の会議日に「丸め」ます。ミーティングは常に水曜日に行われます。Javascript:自動タイムスタンプを自動的に変更して、次回の週次会議の日付に変更したい
私はこれを行うために何かを探していましたが、私が必要とするほど具体的ではない最も近い分に切り上げる方法しか見つかっていませんでした。
たとえば、私の最後の会議は9/27でした。 10/2または10/3でシートに入力した場合でも、9/27以降にB列に入力したものがあれば、10/4のタイムスタンプを表示することができます。
function onEdit(event)
{
var timezone = "GMT-5";
var timestamp_format = "MM/dd/yyyy";
var updateColName = "Item";
var timeStampColName = "Date";
var sheet = event.source.getSheetByName('Agenda');
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) {
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
'新しい日付(today.getTime()+ diff * 3600000 * 24)'は、夏時間が観測される24時間すべてではないため、曜日を追加する良い方法ではありません。 [* JavaScript日の追加] *(https://stackoverflow.com/questions/563406/add-days-to-javascript-date)を参照してください。 – RobG
@RobG良い点;私はDSTを完全に見落としました。そのリンクのソリューションに基づいて更新されました。ありがとう! –