Googleドキュメントで作成した報告書や議事録、契約書などでは、最終更新日や本日の日付を自動で更新したい場面が多々あります。しかし、Microsoft Wordの「フィールドコード」のような標準機能はGoogleドキュメントには用意されておらず、自動更新を実現するには工夫が必要です。この記事では、Googleドキュメント内の日付を自動更新する代表的な方法と、それぞれの限界について解説します。具体的な手順や失敗しやすいポイント、管理者に確認すべき事項もまとめました。自社の環境に合った方法を選ぶ際の参考にしてください。
【要点】この記事で確認すること
- 最初に見る場所: 日付の自動更新が必要な文書の種類と、更新頻度(開くたび、毎日、毎週など)を明確にしましょう。標準機能では実現できないため、Google Apps Scriptや他ツール連携が候補になります。
- 切り分けの軸: 「端末側(ブラウザ/アプリ)」「アカウントの権限」「管理設定(組織のポリシー)」の3つで原因を分類します。スクリプトの動作不良は権限やトリガー設定に起因することが多いです。
- 注意点: 会社のGoogle Workspaceアカウントではスクリプトの実行に制限がかかっている場合があります。また、スクリプトを無闇に導入するとセキュリティポリシーに抵触する恐れがあるため、管理者への確認が必須です。
ADVERTISEMENT
目次
なぜGoogleドキュメントで日付の自動更新が難しいのか
Googleドキュメントはリッチテキストエディタとして非常に優秀ですが、日付を動的に扱う標準機能は限られています。たとえば、[挿入] → [日付]で追加できる日付は、入力時の静的な値であり、文書を開くたびに自動で今日の日付に変わるわけではありません。これはMicrosoft Wordの「DATEフィールド」や「Today関数」に相当する機能が存在しないためです。また、GoogleドキュメントにはExcelのTODAY関数のようなものも組み込まれていません。その結果、日付を自動更新したい場合は、Google Apps Script(GAS)を使ってプログラムで書き換えるか、Googleスプレッドシートの動的データを埋め込むといった間接的な方法を取らざるを得ません。ただし、これらの方法にはそれぞれ制約があり、期待通りに動作しないケースも少なくありません。
方法1:Google Apps Scriptで日付を自動更新する
Google Apps ScriptはGoogleドキュメントをプログラムから操作できる強力なツールです。スクリプトを書いてトリガーを設定すれば、文書を開いたときや一定時間ごとに日付を更新できます。以下に具体的な手順を示します。
- 自動更新したいGoogleドキュメントを開き、メニューから[拡張機能] → [Apps Script]を選択します。
- エディタが開くので、デフォルトのコードを削除し、以下のようなサンプルコードを貼り付けます。このコードは文書内の特定のプレースホルダー(例:
<DATE>)を今日の日付に置き換えます。 - 関数名は例えば
insertCurrentDateとします。コード内ではDocumentApp.getActiveDocument().getBody()を使って本文を取得し、replaceText()で文字列を置換します。日付フォーマットはUtilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy/MM/dd')などで指定します。 - スクリプトを保存し、左側の時計アイコン(トリガー)をクリックしてトリガーを追加します。[トリガーを追加]から、実行する関数を
insertCurrentDate、イベントの種類を[ドキュメントを開いたとき]または[時間主導型]で毎日などに設定します。 - 初回実行時には権限の承認が必要です。ポップアップに従ってアカウントを選択し、必要な権限(ドキュメントの表示・編集など)を許可します。承認が完了すると、トリガーが有効になります。
これで、文書内の<DATE>という文字列がトリガーのタイミングで今日の日付に置き換わります。ただし、スクリプトが動作するにはインターネット接続が必要で、オフラインでは更新できません。また、トリガーの設定によっては更新が遅れる場合もあります。
失敗パターンと対処法
よくある失敗として、権限エラーやトリガーが動作しないという問題があります。権限エラーの場合は、スクリプトエディタの左メニューから[プロジェクトの設定] → [依存関係]でOAuthスコープが適切か確認します。また、会社のGoogle Workspaceアカウントでは、管理者がスクリプトの実行を制限している可能性があるため、「このアプリはブロックされました」というメッセージが出た場合は管理者に問い合わせてください。トリガーが動作しない場合は、トリガーのリストでステータスが「失敗」になっていないか確認し、エラーログを調べます。ログはスクリプトエディタの[実行数]メニューから確認できます。
方法2:Googleスプレッドシートと連携して日付を埋め込む
もう一つの方法は、GoogleスプレッドシートでTODAY関数やNOW関数を使い、その値をGoogleドキュメントに埋め込むことです。ただし、Googleドキュメントはスプレッドシートのセルを直接リンクする機能(Wordの「リンクと差し込み」のようなもの)は標準では提供されていません。そのため、Googleドキュメント内にスプレッドシートのグラフや表を挿入する方法を取りますが、これも更新のタイミングに制限があります。
- まず、Googleスプレッドシートを新規作成し、セルA1に=TODAY()と入力します。日付が表示されます。
- Googleドキュメント側で[挿入] → [グラフ] → [スプレッドシートから]を選択し、先ほどのスプレッドシートを選びます。表示する範囲を「A1」だけに設定すれば、日付だけのグラフ(または表)として挿入できます。
- 挿入されたオブジェクトは、デフォルトではスプレッドシートとリンクされており、Googleドキュメントを開いたときに[グラフを更新]ボタンをクリックするか、自動更新設定を有効にすることで最新の値に更新されます。
- 自動更新の間隔は、Googleドキュメントのメニュー[ツール] → [リンク設定]から確認できます。ただし、リアルタイムではなく、最大でも数分おきの更新になるため、文書を開くたびに必ず最新になるとは限りません。
- また、この方法では日付が「グラフオブジェクト」として挿入されるため、テキストのように自由にレイアウトできないという制約があります。見た目を整えるには、別途テキストボックスと組み合わせる必要があります。
この方法は、スクリプトを使わずに比較的簡単に設定できる反面、更新のタイミングが不正確で、日付の表示場所が制限されるという欠点があります。
方法の比較表
| 方法 | 更新の確実性 | 設定の難易度 | 権限・管理者の関与 | オフライン対応 | 運用上の注意点 |
|---|---|---|---|---|---|
| Google Apps Script | トリガーに依存(開くたび・時間指定) | 中〜高(スクリプト記述が必要) | 高い(承認・管理ポリシー) | 不可 | トリガー上限に注意。複数文書での管理が煩雑。 |
| スプレッドシート連携 | 数分おきの更新(手動更新も可) | 低 | 低(スプレッドシートの権限のみ) | 不可(リンク先参照のため) | 日付がオブジェクトとして埋め込まれるため、テキスト編集と絡めにくい。 |
| 手動更新(標準機能の日付) | 確実だが人が忘れる | 非常に低い | 不要 | 可能 | 毎回手動で更新する手間がかかる。更新漏れが起きやすい。 |
よくある失敗パターンと回避策
日付自動更新を試みる際、よくあるトラブルをいくつか紹介します。
- スクリプトのタイムゾーンが正しくない:日付がずれて表示される場合は、スクリプトエディタの[ファイル] → [プロジェクトのプロパティ]でタイムゾーンが「東京」になっているか確認してください。
- トリガーが勝手に削除される:Google Workspaceの管理コンソールで、ユーザーによるトリガー作成が制限されている場合があります。また、アカウントのパスワード変更などで認証トークンが無効になるとトリガーが停止します。定期的にトリガーの状態を確認しましょう。
- スプレッドシートの更新が反映されない:Googleドキュメント側で「グラフを更新」アイコンをクリックすると強制的に再読み込みできます。自動更新が有効になっていない場合は、メニューから[ツール] → [リンク設定] → [自動更新]をチェックしてください。
- 権限エラーでスクリプトが動かない:会社のアカウントでは、組織のポリシーによって「個人用のApps Scriptプロジェクトの実行」が禁止されているケースがあります。その場合、代替としてスプレッドシート連携を使うか、管理者にスクリプトのホワイトリスト登録を依頼する必要があります。
管理者に確認すべきこと
会社のGoogle Workspaceアカウントで日付自動更新を導入する前に、管理者に以下の点を確認しておきましょう。
- Apps Scriptの実行が許可されているか:管理コンソールの「アプリ」→「Google Workspace」→「ドライブとドキュメント」→「Apps Script」の設定で、組織全体または特定のOUに対してスクリプト実行を許可/制限できます。制限されている場合は、部分的な許可を依頼するか、別の方法を検討します。
- トリガーの上限はあるか:Apps Scriptのトリガーには、アカウントあたりの総実行時間やトリガー数の上限があります。大量の文書で自動更新を運用する場合は、上限に達しないように注意が必要です。
- サードパーティのアドオンは利用できるか:市販のアドオンで日付自動更新を実現するものもありますが、会社のポリシーによってインストールが制限されている場合があります。管理者に確認してください。
- データの外部送信に関するルール:スプレッドシート連携の際、リンク先のスプレッドシートに機密情報が含まれていないか注意します。管理者がデータの取り扱いポリシーを定めている場合はそれに従います。
まとめ
Googleドキュメントで日付を自動更新するには、Google Apps Scriptを使う方法とスプレッドシート連携を使う方法の二つが主な選択肢です。スクリプトは自由度が高い反面、権限やトリガーの管理が必要で、管理者の協力が不可欠です。スプレッドシート連携は設定が簡単ですが、更新のタイミングや見た目に制限があります。日付の更新頻度や文書の重要度、組織のポリシーに応じて最適な方法を選んでください。いずれの方法もオフラインでは動作しないため、常時オンライン環境が必要なことも覚えておきましょう。更新漏れを防ぐには、手動更新と組み合わせた運用を検討するのも一案です。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Outlook】メール本文が「文字化け」して読めない!エンコード設定の変更と修復手順
