【Googleドキュメント】Apps Scriptで日付を自動挿入!ドキュメント作成日の記録

【Googleドキュメント】Apps Scriptで日付を自動挿入!ドキュメント作成日の記録
🛡️ 超解決

ドキュメントを作成した日付を自動で記録したいと思ったことはありませんか。手動で入力すると忘れたり書き間違えたりするリスクがあります。Apps Scriptを使えば、ドキュメントを開くたびに今日の日付を自動挿入できます。この記事では、Googleドキュメントのメニューから簡単に設定できる方法を詳しく説明します。

【要点】Apps Scriptでドキュメントの作成日を自動挿入する方法

  • onOpenトリガーとinsertTextメソッド: ドキュメントを開いたときに今日の日付を特定の位置に自動で挿入します。
  • スクリプトエディタの起動: 拡張機能メニューからApps Scriptのエディタを開き、コードを記述します。
  • トリガーの設定: スクリプトが自動実行されるよう、現在のプロジェクトのトリガーを追加します。

ADVERTISEMENT

Apps Scriptで日付自動挿入ができる仕組み

Googleドキュメントには、標準の機能として日付を自動挿入する方法が用意されています。ただし、それは手動で日付を選択するか、ショートカットキーを使う必要があります。完全に自動で、ドキュメントを開いた瞬間に日付を埋め込むには、GoogleのスクリプトプラットフォームであるApps Scriptを利用します。

Apps ScriptはJavaScriptベースの言語で、Googleドキュメントをはじめ、スプレッドシートやスライドなどを操作できます。ドキュメントに対しては、DocumentAppというクラスを通じてテキストの挿入や編集が可能です。また、onOpenという特別な関数を定義すると、ドキュメントが開かれるたびに自動で実行されます。

この仕組みを利用すれば、毎回手動で日付を入力する手間が省けます。特に、日報や議事録など、作成日を明記する必要があるドキュメントで役立ちます。

Apps Scriptで日付を自動挿入する手順

ここからは、実際の操作手順を説明します。難しいコードは必要ありません。以下の手順に従うだけで、誰でも設定できます。

Step 1: スクリプトエディタを開く

  1. Googleドキュメントを開く
    自動挿入したいドキュメントを開きます。新しいドキュメントでも既存のドキュメントでも構いません。
  2. [拡張機能]メニューをクリックする
    メニューバーから「拡張機能」を選択し、表示されるメニューから「Apps Script」をクリックします。
  3. スクリプトエディタが開く
    別タブでApps Scriptのエディタが開きます。初期状態ではmyFunction()という空の関数が表示されています。

Step 2: コードを記述する

  1. 既存のコードを削除する
    エディタ内のfunction myFunction() { }をすべて選択して削除します。
  2. 以下のコードをコピーして貼り付ける
    以下をそのまま貼り付けてください。
function onOpen() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var today = new Date();
  var dateString = Utilities.formatDate(today, Session.getScriptTimeZone(), 'yyyy/MM/dd');
  body.insertParagraph(0, '作成日: ' + dateString);
}

このコードは、ドキュメントの先頭に「作成日: 2025/03/28」のような段落を挿入します。日付の書式は'yyyy/MM/dd'の部分で自由に変更できます。

Step 3: プロジェクトを保存してトリガーを設定する

  1. 保存する
    エディタのツールバーにある[保存]アイコン(フロッピーディスク)をクリックするか、Ctrl+S(MacならCmd+S)で保存します。プロジェクト名を求められたら、任意の名前(例:「日付自動挿入」)を入力します。
  2. トリガーを追加する
    左側のメニューから「時計」アイコンの「トリガー」をクリックします。[トリガーを追加]ボタンをクリックします。
  3. トリガーの詳細を設定する
    以下のように設定します。
    ・実行する関数: onOpen
    ・デプロイメント: Head
    ・イベントのソース: ドキュメントから
    ・イベントの種類: 開いたとき
    [保存]をクリックします。
  4. 承認画面に進む
    初めての場合は、権限の承認を求められます。[権限を確認]をクリックし、自分のGoogleアカウントを選択した後、[許可]をクリックします。注意: このスクリプトはドキュメントの内容を編集する権限を必要とします。

Step 4: 動作を確認する

  1. ドキュメントのタブに戻る
    スクリプトエディタのタブを閉じて、元のドキュメントに戻ります。
  2. ページを再読み込みする
    ドキュメントをリロード(F5キーなど)します。すると、ドキュメントの先頭に「作成日: 2025/03/28」のような段落が自動で挿入されます。
  3. 日付が更新されるかを確認する
    翌日などに再度開くと、その日の日付に変わっているはずです。ただし、過去に挿入された日付は上書きされず、新しい行が追加される点に注意してください。

日付自動挿入の注意点とよくある問題

Apps Scriptを使った自動挿入にはいくつかの注意点があります。ここでは、よくある問題とその対処法を説明します。

日付が複数行挿入されてしまう

コードでは、ドキュメントを開くたびに新しい段落を追加します。そのため、複数回開くと日付の行がどんどん増えてしまいます。これを防ぐには、既存の日付行を更新するようにコードを変更します。以下のように修正してください。

function onOpen() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var today = new Date();
  var dateString = Utilities.formatDate(today, Session.getScriptTimeZone(), 'yyyy/MM/dd');
  // 既存の日付行を検索して更新、なければ追加
  var found = false;
  for (var i = 0; i < body.getNumChildren(); i++) {
    var child = body.getChild(i);
    if (child.getType() === DocumentApp.ElementType.PARAGRAPH) {
      var text = child.asParagraph().getText();
      if (text.startsWith('作成日: ')) {
        child.asParagraph().setText('作成日: ' + dateString);
        found = true;
        break;
      }
    }
  }
  if (!found) {
    body.insertParagraph(0, '作成日: ' + dateString);
  }
}

このコードは、先頭から「作成日: 」で始まる段落を探し、見つかればそのテキストを書き換えます。見つからなければ新しく挿入します。これで日付が1行だけになります。

権限の承認が必要なのが面倒

初回のトリガー設定時には、スクリプトがドキュメントを編集する権限の承認が求められます。これは一度だけ行えば、以降は自動で実行されます。承認の際には、自分のアカウントで正しくログインしているか確認してください。組織のアカウントでは管理者の承認が必要な場合もあります。

日付の書式を変更したい

コード内の'yyyy/MM/dd'の部分を変えることで、好きな書式に変更できます。たとえば'yyyy年M月d日'とすれば「2025年3月28日」となります。また、時刻も含めたい場合は'yyyy/MM/dd HH:mm'とします。時刻は24時間形式で表示されます。

トリガーが正しく動かない

トリガーが設定されていてもスクリプトが実行されない場合、以下の点を確認してください。まず、スクリプトエディタで[実行]ボタンを押して手動でonOpen関数を実行し、エラーが出ないか確かめてください。エラーが出る場合は、コードの記述ミスや権限不足が考えられます。また、ドキュメントが閲覧専用モードで開かれているとスクリプトは実行されません。編集可能な状態で開いてください。

ADVERTISEMENT

手動挿入との比較: Apps Script vs 標準機能

項目 Apps Script 標準機能(ショートカット)
自動実行 ドキュメントを開くたびに自動で実行 手動でショートカットを押す必要あり
更新のしやすさ 日付が常に最新になる(上書き仕様に注意) 挿入した時点の日付が固定される
カスタマイズ性 コードを編集して書式や位置を変更可能 書式は固定(設定による変更は不可)
導入の手間 初回のコード設定と承認が必要 特別な設定不要、すぐ使える
対応環境 すべてのGoogleドキュメント(要編集権限) すべてのGoogleドキュメント

用途に応じて使い分けると良いでしょう。頻繁に日付を更新する必要があるドキュメント(例:日報)にはApps Scriptが便利です。一方、一度だけ日付を入れれば十分な場合は標準機能で十分です。

まとめ

Googleドキュメントで作成日を自動記録するには、Apps ScriptのonOpen関数とトリガーを利用します。コードは数行で済み、書式や挿入位置も自由にカスタマイズできます。ただし、初回の権限承認と、日付が重複しないようなコードの調整が必要です。この仕組みを応用すれば、ドキュメントのフッターに最終更新日を表示するなど、さらに便利な自動化が可能です。ぜひ自分のドキュメントに合わせてアレンジしてみてください。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

SPONSORED