複数のGoogleドキュメントに同じヘッダーを設定したい場面は、社内文書の統一や報告書のテンプレート作成などでよく発生します。手動で1つずつヘッダーをコピー&ペーストするのは非効率であり、ミスも起こりやすいものです。そこで本記事では、Googleドキュメントで複数文書に同じヘッダーを一括で挿入・更新するための自動化方法を解説します。特に、Google Apps Script(GAS)を使った方法を中心に、手順と注意点を詳しく説明します。
【要点】この記事で確認すること
- 最初に見る場所: 自動化の方法として、Google Apps Scriptの利用を検討する前に、まずは「ヘッダーの既定」機能やアドオンが使えないか確認しましょう。
- 切り分けの軸: 自社のGoogle Workspace環境でアドオンやApps Scriptの実行が許可されているかどうかを確認します。管理者による制限がある場合があるため、事前に確認が必要です。
- 注意点: スクリプトを実行する際は、対象文書のバックアップを取っておいてください。また、スクリプトの権限設定を適切に行わないと、他の文書に影響を与える可能性があります。
ADVERTISEMENT
目次
同じヘッダーを複数文書に挿入するケースと課題
例えば、毎月の売上報告書、プロジェクト提案書、研修資料など、社内で使う文書には同じ会社ロゴやヘッダー情報(会社名、部署名、日付など)を統一して表示したいことがよくあります。このような文書が数十ある場合、手動で1つずつヘッダーを設定するのは非常に時間がかかります。また、後でヘッダーの内容を変更する必要が生じたとき、すべての文書を開いて修正しなければならず、漏れやミスが発生しやすいという問題があります。
手動で行う場合の限界
仮に10個の文書を手動で編集する場合、1文書あたり3分としても30分かかります。100個なら5時間以上になります。さらに、ヘッダーに含める日付を毎月更新する必要がある場合、毎回全文書を修正するのは現実的ではありません。手動操作ではコピーミスによる表記ゆれも発生しやすく、品質の統一が難しくなります。こうした課題を解決するには、自動化の仕組みを導入することが有効です。
自動化の選択肢
複数文書に同じヘッダーを一括で設定する方法としては、主に以下の3つが考えられます。それぞれの特徴を比較してみましょう。
| 方法 | 特徴 | 難易度 | 向いているケース |
|---|---|---|---|
| Googleドキュメントの「ヘッダーの既定」 | 新しい文書にのみ適用される既定のヘッダーを設定できる。既存文書には適用不可。 | 低 | 今後作成する文書に同じヘッダーを使いたい場合 |
| アドオン(例: Auto Header, Doc Tools) | 直感的な操作で一括適用が可能。ただし無料版では機能制限がある場合がある。 | 中 | プログラミングが苦手で、少ない文書数(数十程度)であれば十分 |
| Google Apps Script | 自由度が高く、複雑な条件や大量文書にも対応できる。コードを書く必要がある。 | 高 | 大量の文書を扱う、動的なヘッダー(日付など)を入れたい、定期的な更新が必要な場合 |
多くの現場では、Google Apps Script(GAS)が最も柔軟で強力な選択肢となります。特に、文書数が多く、ヘッダーに動的な要素(日付やファイル名など)を含めたい場合に適しています。以下では、GASを使った具体的な自動化手順を紹介します。
Google Apps Scriptを使った自動化の具体的な手順
ここでは、Googleドライブの特定フォルダ内にあるすべてのGoogleドキュメントに、同じヘッダー(例:「会社名 | プロジェクト名 | 2025年3月」)を一括挿入するスクリプトを作成します。
- 対象文書をフォルダにまとめる
Googleドライブで、ヘッダーを設定したい文書が入ったフォルダを用意します。フォルダIDを後で使うため、URLからコピーしておきます(例: https://drive.google.com/drive/folders/ABCDEF12345 の「ABCDEF12345」の部分)。 - スクリプトエディタを開く
任意のGoogleドキュメントを開き、メニューから「拡張機能」→「Apps Script」を選択します。これでスクリプトエディタが起動します。 - コードを記述する
デフォルトのコードを削除し、以下のサンプルコードを貼り付けます。フォルダIDはご自身のものに書き換えてください。 - 権限を承認する
スクリプトを実行するには、Googleアカウントへのアクセス権限を承認する必要があります。初回実行時に承認画面が表示されるので、内容を確認して「許可」をクリックします。 - スクリプトを実行する
スクリプトエディタのツールバーにある実行ボタン(▶)を押すか、関数名「addHeaderToDocs」を選択して実行します。実行が完了すると、対象の文書すべてにヘッダーが追加されます。 - 結果を確認する
各文書を開いてヘッダーが正しく挿入されているか確認します。必要に応じて、スクリプトのヘッダー内容を変更して再度実行します。
以下がスクリプトのサンプルコードです。コピーしてご利用ください。
function addHeaderToDocs() {
var folderId = 'ここにフォルダIDを入力';
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFilesByType(MimeType.GOOGLE_DOCS);
var headerText = '会社名 | プロジェクト名 | ' + new Date().toLocaleDateString();
while (files.hasNext()) {
var file = files.next();
var doc = DocumentApp.openById(file.getId());
var header = doc.getHeader();
if (!header) {
header = doc.addHeader();
}
header.clear();
var paragraph = header.appendParagraph(headerText);
paragraph.setAlignment(DocumentApp.HorizontalAlignment.CENTER);
doc.saveAndClose();
}
}
よくある失敗パターンと対処法
スクリプトを実行する際に、以下のような問題が発生することがあります。それぞれの対処法を説明します。
- 権限の承認エラー
スクリプトの実行に必要な権限が不足している場合、エラーが表示されます。画面の指示に従って承認手続きを進めてください。特に組織アカウントを使用している場合、管理者がApps Scriptの実行を制限している可能性があります。その場合は管理者に連絡して許可を依頼します。 - フォルダIDの指定ミス
フォルダIDが間違っていると「フォルダが見つかりません」というエラーになります。正しいIDを再確認し、コード内にハードコードする代わりに、スクリプトプロパティなどで管理すると安全です。 - 既存のヘッダーがクリアされないまま追加される
上記サンプルコードではheader.clear()で既存の内容を削除してから新しいヘッダーを追加しています。もしこの行を忘れると、古いヘッダーが残ったまま新しいテキストが追加されてしまいます。コードを確認してください。 - スクリプトの実行時間制限(6分)を超える
Google Apps Scriptには最大実行時間6分の制限があります。文書数が多い場合は、フォルダを分割して複数回実行するか、処理をバッチ化して時間内に収まるように調整します。例えば、一度に100文書以上を処理する場合は、スクリプトを複数に分けて実行します。 - 画像を含むヘッダーの場合
上記サンプルはテキストのみのヘッダーを想定しています。画像(ロゴなど)を挿入するには、Blobを取得してinsertImage(blob)メソッドを使用します。画像ファイルはGoogleドライブに保存し、そのURLからBlobを取得する必要があります。詳細はGoogle Apps Scriptのリファレンスを参照してください。
管理者に確認すべきこと
社内でGoogle Workspaceを利用している場合、Apps Scriptの実行やアドオンのインストールが管理者によって制限されていることがあります。自動化を導入する前に、以下の点を情報システム部門や管理者に確認しましょう。
- Apps Scriptの実行許可
組織のGoogle Workspace設定で、ユーザーによるApps Scriptの実行が許可されているかどうか。特に「信頼できないスクリプトの実行をブロック」などのポリシーが適用されていないか確認します。 - アドオンのインストール可否
もしアドオンを使いたい場合、Google Workspace Marketplaceからインストールできるかどうか。管理者が許可していない場合があります。 - ドメイン全体のデフォルトヘッダー設定
組織全体で統一したヘッダーを強制したい場合、管理者が管理コンソールからデフォルトのヘッダーテンプレートを設定できるかどうか。ただし、既存文書には適用されないため、GASとの併用が必要になることもあります。 - スクリプトの監査ログ
セキュリティポリシーによっては、スクリプトの実行ログが監査対象になる場合があります。事前にルールを確認しておきましょう。
よくある質問(FAQ)
実際に導入を検討する際に寄せられる質問とその回答をまとめました。
- Q: ヘッダーに画像(ロゴ)を入れたい場合はどうすればいいですか?
A: 画像を挿入するには、Googleドライブに画像ファイルを保存し、DriveApp.getFileById(id).getBlob()でBlobを取得して、header.insertImage(blob)メソッドを使用します。画像の位置調整もコードで指定できます。 - Q: スクリプトを定期的に自動実行できますか?
A: 可能です。スクリプトエディタのメニューから「トリガー」を設定し、時間主導型(毎時、毎日、毎月など)で関数を実行するようにできます。例えば、月末にヘッダーの日付を更新するといった運用が実現できます。 - Q: 文書数が100以上ある場合、一度に実行できますか?
A: 6分の実行時間制限があるため、100文書以上を一度に処理するのは難しい場合があります。その場合は、フォルダを複数のサブフォルダに分割し、それぞれに対してスクリプトを実行するか、処理をバッチ化して時間内に収まるように調整します。また、Utilities.sleep()を使って遅延を入れるとエラーを回避しやすくなります。 - Q: 他のユーザーと共有している文書にも適用できますか?
A: スクリプトを実行するアカウントがその文書の編集権限を持っている必要があります。自分がオーナーでない文書にヘッダーを追加する場合は、事前に編集権限を付与してもらう必要があります。
まとめ
複数のGoogleドキュメントに同じヘッダーを一括で設定するには、Google Apps Scriptを使う方法が最も効率的かつ柔軟です。スクリプトを作成すれば、文書数が多くても短時間で処理できるようになり、更新作業も自動化できます。ただし、実行前に必ずテスト用のコピーで動作を確認し、管理者に権限設定を確認することをおすすめします。自動化を導入することで、作業時間を大幅に削減し、ヒューマンエラーを防止できるでしょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
