アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【Google
Googleスプレッドシートを編集したら自動で更新日時を入れる
POSTED BY
2023-08-22

Googleのスプレッドシートをいじったら、自動でその更新日時をセルに出力したい。

シートにはGoogle Apps Scriptとイベントトリガーが設定できるので、現在日時を指定セルにセットする関数を作成し、シート編集をきっかけに起動するトリガーでその関数を呼べばよい。

以下のようにする。

1、まず、更新日時を自動挿入したいセルを決定する。

ここでは、セル「C1」に挿入するものとする。

2、メニュー→ツール→スクリプトエディタ を開く。

Apps Script 無題のプロジェクト コード.gs がデフォルトで作成されているので、これを以下のように編集する。

function drawLastUpdateString() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var cell = sheet.getRange('C1');
  var date = new Date();
  var string = "Last Updated: " + Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd hh:mm:ss');
  Logger.log(string);
  cell.setValue(string);
}

sheet.setRangeのところで、さきほど決めた日時挿入セル番号をシングルクオテーション文字列で指定。
stringで、挿入日時文字列を作成しているので、変更したい場合適当にいじる。

3、「実行」の左にあるフロッピーディスクアイコンをクリックして、「プロジェクトを保存」する。

4、次に、左端メニューに「目覚まし時計」のアイコンがあるので、クリックして「トリガー」を開く。

「トリガーを追加」し、

実行する関数:drawLastUpdateString
実行するデプロイ:Head
イベントのソース:スプレッドシートから
イベントの種類:編集時
エラー通知設定:毎日

などとして、保存する。

アクセス許可ダイアログが出るので、許可する。

5、スプレッドシートに戻り、何か編集すると、エラーが無ければ、セル「C1」に、

Last Updated: 2021/08/23 12:32:55

などと出力されているはずだ。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】