【Googleドキュメント】Apps Scriptで本文中の引用を自動整形!出典フォーマット統一

【Googleドキュメント】Apps Scriptで本文中の引用を自動整形!出典フォーマット統一
🛡️ 超解決

Googleドキュメントで論文やレポートを執筆する際、引用のフォーマットがバラバラになって困った経験はありませんか。手動で出典情報を付け加える作業は時間がかかり、ミスも発生しやすいものです。本記事では、Apps Scriptを使って引用文のフォーマットを自動で統一する方法を解説します。スクリプトを実行するだけで、出典の書式を一定のルールに沿って整形できるようになります。

【要点】Apps Scriptで引用フォーマットを自動統一する方法

  • スクリプトエディタで関数を作成: 選択範囲のテキストに引用マークと出典情報を追加する関数を実装します。
  • ダイアログで出典情報を入力: スクリプト実行時にポップアップで著者名やページ番号を入力できます。
  • 正規表現で引用部分を自動検出: 引用符で囲まれた部分を自動で見つけ、フォーマットを適用します。

ADVERTISEMENT

なぜ引用のフォーマット統一が必要か

研究やビジネス文書では、引用スタイルの一貫性が求められます。APAやMLAなど特定のスタイルに従わないと、読者に混乱を与えたり、評価を下げる原因になります。手動で統一するのは手間がかかり、同じフォーマットを繰り返し適用するうちにミスが生じることも少なくありません。そこでGoogleドキュメントのApps Scriptを活用すれば、ワンクリックで引用フォーマットを統一できます。これにより、作業時間を大幅に短縮し、ミスのない一貫した文書作成が可能になります。

Apps Scriptで引用を自動整形する手順

ここでは、選択範囲のテキストを引用としてフォーマットするスクリプトを作成します。以下の手順に従って進めてください。

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

  1. 拡張機能メニューを開く
    Googleドキュメントのメニューバーから「拡張機能」をクリックし、「Apps Script」を選択します。新しいタブでスクリプトエディタが開きます。
  2. プロジェクトを作成する
    初期状態で「コード.gs」ファイルが表示されます。このファイルにスクリプトを記述します。必要に応じてプロジェクト名を変更してください。

スクリプトを作成する

以下のコードをコピーして「コード.gs」に貼り付けます。このコードは、選択されたテキストを引用符で囲み、ダイアログで出典情報を入力して付加します。

function formatCitation() {
  var doc = DocumentApp.getActiveDocument();
  var selection = doc.getSelection();
  if (!selection) {
    DocumentApp.getUi().alert('引用するテキストを選択してください。');
    return;
  }
  // Get selected text
  var text = '';
  var elements = selection.getRangeElements();
  for (var i = 0; i < elements.length; i++) {
    var element = elements[i].getElement();
    if (element.editAsText) {
      text += element.asText().getText();
    }
  }
  // Prompt for source
  var ui = DocumentApp.getUi();
  var result = ui.prompt(
    '出典情報の入力',
    '著者名、タイトル、ページ番号を次の形式で入力してください。\n例: Smith, 2020, p.45',
    ui.ButtonSet.OK_CANCEL);
  if (result.getSelectedButton() == ui.Button.OK) {
    var source = result.getResponseText();
    // Format the citation
    var formatted = '「' + text + '」(出典: ' + source + ')';
    // Replace original text
    if (selection.getRangeElements().length > 0) {
      var firstElement = selection.getRangeElements()[0].getElement();
      firstElement.asText().setText(formatted);
    }
  }
}

この関数は、選択範囲のテキストを取得し、ユーザーに出典情報を入力させた後、引用マークと出典を付けた形で置き換えます。ダイアログの表示やテキストの置き換えは、Apps ScriptのDocumentAppとUiクラスを利用しています。

スクリプトを実行する

  1. 関数を選択して実行
    スクリプトエディタ上部の「実行」ボタンをクリックし、関数「formatCitation」を選択します。初回実行時にはGoogleアカウントへのアクセス権限を求められるので、内容を確認して承認してください。
  2. 引用を選択して適用
    ドキュメントに戻り、引用したいテキスト範囲を選択します。再度スクリプトエディタで「formatCitation」を実行すると、ダイアログが表示されます。出典情報を入力して「OK」をクリックすると、選択範囲が引用フォーマットに変換されます。

メニューにカスタムコマンドを追加する

毎回スクリプトエディタを開くのは手間です。以下のonOpen関数を追加すると、ドキュメントメニューに「引用整形」が表示され、簡単にスクリプトを実行できるようになります。

function onOpen() {
  var ui = DocumentApp.getUi();
  ui.createMenu('引用整形')
    .addItem('選択範囲を引用フォーマット', 'formatCitation')
    .addToUi();
}
  1. onOpen関数を追加
    先ほどのコードに続けて、上記の関数を「コード.gs」に貼り付けます。この関数はドキュメントを開くたびに自動実行されます。
  2. スクリプトを保存して再読み込み
    スクリプトを保存し、ドキュメントを再読み込みすると、メニューバーに「引用整形」が追加されます。あとは引用テキストを選択してメニューから「選択範囲を引用フォーマット」を選ぶだけです。

スクリプト使用時の注意点と制限事項

選択範囲が正しく取得できない場合

テキストがテーブル内やヘッダー、フッターにあると、スクリプトが選択範囲を正しく取得できないことがあります。その場合は、対象テキストを本文領域にコピーしてから実行してください。また、画像や図形内のテキストは取得できません。テキストのみの範囲を選択するように注意しましょう。

権限承認が必要

初回実行時に、Googleドキュメントのドキュメントデータへのアクセス権限を求められます。内容を確認し、「許可」をクリックしてください。承認後は、同じスクリプトを再利用する際に再度許可を求められることはありません。権限の範囲は必要最小限に設定されているため、安心して利用できます。

フォーマットのカスタマイズ

スクリプト内の「『』(出典: )」の部分を編集することで、引用スタイルを自由に変更できます。例えば、APAスタイルなら「(著者, 年, p.ページ)」、MLAスタイルなら「(著者 ページ)」といった形に書き換えてください。また、複数のスタイルを切り替えたい場合は、関数を分けてメニューに追加することも可能です。

ADVERTISEMENT

手動整形と自動整形の比較

項目 手動整形 自動整形(Apps Script)
時間 引用1つに数十秒 ワンクリックで一括変換
一貫性 個人差や疲労によりばらつく 一定のルールで確実に統一
ミス率 書式漏れやタイプミスが発生しやすい プログラム制御により低い
カスタマイズ性 柔軟だが一つずつ手作業が必要 コード編集で自由に変更可能

以上の比較からもわかるように、自動整形は時間と精度の面で大きなメリットがあります。ただし、完全に自動化するにはスクリプトの調整が必要な場合もあるため、まずは基本形から試してみると良いでしょう。

まとめ

本記事では、GoogleドキュメントのApps Scriptを使って引用のフォーマットを自動統一する方法を解説しました。スクリプトを導入すれば、選択したテキストをワンクリックで引用マークと出典情報とともに整形できます。

このスクリプトは、出典情報の入力フォーマットを変更することで、APAやMLAなど異なるスタイルにも柔軟に対応可能です。また、メニューに追加しておけば、日常的な文書作成でストレスなく利用できるでしょう。

次は、複数の引用スタイルを切り替える関数を追加したり、脚注として自動挿入する応用にも挑戦してみてください。Apps Scriptを使いこなすことで、ドキュメント作成の効率がさらに向上します。


ADVERTISEMENT

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

超解決 第一編集部

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

SPONSORED