【Googleドキュメント】Apps Scriptで電子署名フィールド挿入!承認用テンプレ生成

【Googleドキュメント】Apps Scriptで電子署名フィールド挿入!承認用テンプレ生成
🛡️ 超解決

社内の承認手続きで、毎回ドキュメントに署名欄を手動で挿入していませんか。GoogleドキュメントとApps Scriptを組み合わせれば、署名フィールドを自動で挿入する承認用テンプレートを生成できます。この記事では、Apps Scriptを使ってドキュメント内に署名欄を配置し、承認フローを効率化する方法を解説します。具体的なスクリプトのコードと手順を紹介しますので、ぜひご覧ください。

【要点】Apps Scriptで電子署名フィールドを自動挿入するテンプレート生成のポイント

  • DocumentAppクラスとinsertParagraphメソッド: 指定位置に空の段落(署名欄)を挿入し、太字や下線で視覚的に識別します。
  • テンプレートの保存と複製: 生成したドキュメントをテンプレートとして保存し、スクリプトで複製して毎回同じレイアウトを再利用します。
  • 承認依頼メール送信の自動化: スクリプトで文書のURLをメールに埋め込み、承認者へ直接送信するワークフローを構築します。

ADVERTISEMENT

Apps Scriptで署名欄を自動挿入する背景とメリット

Googleドキュメント自体にはネイティブの電子署名機能はありませんが、Apps Scriptを使うことで、署名が必要な場所に自動でフィールドを挿入できます。手動で毎回同じフォーマットの文書を作成すると、入力ミスや書式のずれが発生する可能性があります。スクリプトでテンプレートを生成すれば、一貫性のある承認用文書を数秒で作成でき、承認プロセス全体のスピードアップにつながります。また、スクリプトは他のGoogleサービス(Gmailやスプレッドシート)と連携できるため、承認依頼のメール送信や進捗管理まで自動化できます。この記事では、基本のスクリプトから応用までをわかりやすく説明します。

電子署名フィールドを挿入するApps Scriptの実装手順

ここでは、Googleドキュメントのスクリプトエディタを使って、署名欄を含む承認テンプレートを生成する方法を解説します。手順は大きく分けて3つのステップです。スクリプトのコードをコピーして、すぐに試せます。

  1. スクリプトエディタを開く
    Googleドキュメントを新規作成し、メニューの「拡張機能」から「Apps Script」を選択します。するとスクリプトエディタが別タブで開きます。
  2. スクリプトコードを記述する
    以下のコードをエディタに貼り付けてください。このコードは、ドキュメントに署名欄(空の段落)を追加し、太字とアンダーラインで装飾します。
function createSignatureTemplate() {
  // 新しいドキュメントを作成
  var doc = DocumentApp.create('承認テンプレート');
  var body = doc.getBody();
  
  // 件名と案内文を追加
  body.appendParagraph('件名:承認依頼書');
  body.appendParagraph('');
  body.appendParagraph('以下の内容についてご確認の上、署名をお願いいたします。');
  body.appendParagraph('');
  
  // 署名フィールド(空の段落)を追加
  var sigParagraph = body.appendParagraph('署名:_________________________');
  sigParagraph.setBold(true);
  sigParagraph.setUnderline(true);
  sigParagraph.setFontSize(14);
  
  // 日付フィールドを追加
  body.appendParagraph('日付:_________________________');
  
  // 保存して閉じる
  doc.saveAndClose();
  
  // 作成したドキュメントのURLをログに表示
  Logger.log('作成されたドキュメント: ' + doc.getUrl());
}
  1. スクリプトを実行してテンプレートを生成する
    コードを貼り付けたら、ツールバーの「実行」ボタンをクリックします。初回は権限の承認が必要です。承認後、スクリプトが実行され、新しいドキュメントが作成されます。ログに表示されたURLをクリックして、生成されたテンプレートを確認できます。

応用:複数署名欄と日付を追加する

承認者が複数いる場合は、以下のようにループを使って署名欄を追加できます。また、日付を自動入力するスクリプトも組み合わせると便利です。

function createMultiSignatureTemplate() {
  var doc = DocumentApp.create('複数署名テンプレート');
  var body = doc.getBody();
  
  body.appendParagraph('承認者一覧');
  
  // 複数の署名欄を生成
  var approvers = ['部長', '課長', '担当者'];
  for (var i = 0; i < approvers.length; i++) {
    body.appendParagraph(approvers[i] + ' 署名:_________________________');
    body.appendParagraph('日付:' + new Date().toLocaleDateString());
    body.appendParagraph(''); // 空行
  }
  
  doc.saveAndClose();
  Logger.log('ドキュメントURL: ' + doc.getUrl());
}

署名テンプレート運用時の注意点と失敗例

スクリプト実行権限とセキュリティの確認

スクリプトを初めて実行するとき、ドキュメントの作成や編集の権限を求められます。組織のポリシーによっては、Apps Scriptの実行が制限されている場合があります。その場合は管理者に問い合わせてください。また、スクリプトに機密情報を記載しないよう注意しましょう。

署名欄のフォーマットがずれてしまう

ドキュメントに手動で後から編集を加えると、署名欄の位置がずれることがあります。テンプレートを固定フォーマットとして使うには、スクリプトで生成したドキュメントを複製してから編集することをおすすめします。複製にはDriveAppのmakeCopyメソッドを使います。

電子署名としての法的効力

このスクリプトで挿入するのは「署名欄」のプレースホルダーであり、電子署名そのものではありません。法的に有効な電子署名が必要な場合は、Google WorkspaceのeSignature機能や専用のアドオンをご利用ください。このテンプレートは、社内の簡易承認や確認用としてご活用ください。

ADVERTISEMENT

手動挿入とApps Script自動生成の比較

項目 手動挿入 Apps Script自動生成
作成時間 3〜5分 数秒
一貫性 ばらつきが出る 完全に統一
ミス発生率 高い 低い
複数署名欄対応 手動でコピー ループで一括生成
メール送信連携 別途手動送信 スクリプトで自動化可能

まとめ

この記事では、GoogleドキュメントとApps Scriptを使って、電子署名フィールドを含む承認用テンプレートを自動生成する方法を解説しました。createSignatureTemplate関数を使えば、署名欄が美しく配置された文書を数秒で作成できます。複数署名欄や日付の自動挿入にも応用できますので、ぜひ自社の承認フローに取り入れてみてください。さらに、GmailAppと連携して承認依頼メールを自動送信するスクリプトを作成すれば、完全に自動化された承認システムを構築できます。まずは簡単なテンプレート生成から始めてみましょう。


ADVERTISEMENT

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

超解決 第一編集部

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

SPONSORED