【Googleドキュメント】Apps Scriptで本文中の英数字を半角化!文字種統一の自動化

【Googleドキュメント】Apps Scriptで本文中の英数字を半角化!文字種統一の自動化
🛡️ 超解決

Googleドキュメントで作成した文書では、英数字や記号の文字種が全角と半角で混在してしまうことがよくあります。見た目の統一感が損なわれるだけでなく、文字数カウントや検索の精度にも悪影響を及ぼします。この記事では、Apps Scriptを利用して文書全体の英数字を一括で半角に変換するスクリプトを作成し、自動化する方法を解説します。手間のかかる手作業から解放され、常に整った文書を保てるようになります。

【要点】Apps Scriptで英数字を半角化する自動化のポイント

  • スクリプトエディタの起動方法: メニュー「拡張機能」→「Apps Script」からエディタを開き、コードを記述するための準備を行います。
  • 本文全体を対象とした置換コード: DocumentAppのreplaceTextメソッドと正規表現を使って、全角英数字を半角に変換する関数を作成します。
  • メニューへの登録とトリガー設定: カスタムメニューにスクリプトを追加し、必要な時にワンクリックで実行できるようにします。

ADVERTISEMENT

英数字の文字種が混在する原因と統一の必要性

Googleドキュメントでは、コピー&ペーストや異なる入力環境での編集によって、全角英数字と半角英数字が混在しやすくなります。視覚的な統一感が失われるだけでなく、検索機能で目的の文字列が見つかりにくくなったり、文字数制限のあるフォームに貼り付ける際に予期せぬ長さになることがあります。手動で修正するのは時間がかかり、見落としも発生しやすいため、スクリプトによる自動変換が有効です。Apps Scriptを使えば、文書全体を一瞬で半角に統一できます。

Apps Scriptで半角化を自動化する具体的な手順

ここからは、実際にスクリプトを作成して実行する手順を説明します。初めての方でも迷わないように、丁寧に解説します。

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

  1. メニューから拡張機能を選択
    Googleドキュメントのメニューバーから「拡張機能」をクリックし、表示されたメニューから「Apps Script」を選択します。スクリプトエディタが新しいタブで開きます。
  2. プロジェクトに名前を付ける
    エディタ左上の「無題のプロジェクト」をクリックし、わかりやすい名前(例:「英数字半角化」)に変更します。

ステップ2:変換用のコードを記述する

  1. デフォルトのコードを削除する
    エディタに表示されているデフォルトのコード(myFunction)をすべて削除します。
  2. 以下のコードをコピーして貼り付ける
    下記のスクリプトをそのまま貼り付けてください。このコードは文書本文を取得し、全角英数字を半角に置換します。
function convertToHalfWidth() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.replaceText('[A-Za-z0-9]', function(match) {
    return String.fromCharCode(match.charCodeAt(0) - 65248);
  });
}

ステップ3:カスタムメニューを追加して使いやすくする

  1. メニュー追加関数を記述する
    上記の関数に加えて、以下のonOpen関数を追加します。これにより、ドキュメントを開くたびにカスタムメニューが表示されます。
function onOpen() {
  var ui = DocumentApp.getUi();
  ui.createMenu('半角化')
    .addItem('英数字を半角に変換', 'convertToHalfWidth')
    .addToUi();
}

ステップ4:スクリプトを保存して実行する

  1. プロジェクトを保存する
    エディタ上部の「保存」アイコンをクリックするか、Ctrl+Sで保存します。
  2. 初回実行時に承認を行う
    スクリプトを実行するには、Googleアカウントの承認が必要です。表示されるダイアログに従って「権限を確認」し、自分のアカウントを選択して許可してください。危険なコードは含まれていないため、安心して承認してください。
  3. メニューから変換を実行する
    ドキュメントに戻り、メニューバーに「半角化」という新しいメニューが表示されます。それをクリックし、「英数字を半角に変換」を選べば、一瞬で変換が完了します。

ステップ5:トリガーを設定して自動化する(オプション)

  1. タイムドリブントリガーを設定する
    エディタの左側にある「トリガー」アイコン(時計マーク)をクリックし、「トリガーを追加」を選びます。
  2. 実行条件を指定する
    「時間ベースのトリガー」を選択し、例えば「1時間ごと」や「日次」に設定します。これにより、定期的に自動変換が行われます。ただし、変換が必要なタイミングに合わせて設定してください。

スクリプト使用時の注意点とよくあるトラブル

全角英数字の範囲に注意する

上記のコードは全角大文字英字(A〜Z)、全角小文字英字(a〜z)、全角数字(0〜9)を半角に変換します。全角スペースや全角記号(@、%など)は変換対象外です。必要に応じて正規表現を拡張してください。ただし、全角記号を半角にすると意味が変わることがあるため、注意が必要です。

変換で書式が変わらないか確認する

replaceTextメソッドは文字列の置換のみを行い、フォントや文字スタイルには影響しません。ただし、特定のフォントでは全角と半角で表示幅が異なるため、レイアウトが少し変わることがあります。変換後は全体の見た目を確認することをおすすめします。

スクリプトの権限に関する注意

初回実行時には、スクリプトがドキュメントの内容を読み書きする権限を承認する必要があります。承認画面では「これは安全なスクリプトですか?」と警告されますが、自分で作成したコードであれば安心して許可してください。ただし、第三者のスクリプトを実行する場合は内容をよく確認しましょう。

ADVERTISEMENT

手動変換とスクリプト自動変換の比較

項目 手動変換 Apps Script自動変換
作業時間(10ページの文書) 通常10〜15分以上 約1秒
変換精度 見落としが発生しやすい 漏れなく確実に変換
繰り返し実行の負担 都度手作業が必要 一度設定すればボタン一発
学習コスト 不要 初期設定に15分程度

まとめ

この記事では、GoogleドキュメントのApps Scriptを使って本文中の全角英数字を半角に自動変換する方法を解説しました。一度スクリプトを設定すれば、メニューからワンクリックで変換が完了し、文書の統一感と検索性が向上します。さらに、トリガーを設定すれば定期的な自動実行も可能です。同様の手法で、全角カタカナの変換や特定記号の置換など、さまざまな文字種統一に応用できます。ぜひ自分のドキュメントで試してみてください。


ADVERTISEMENT

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

超解決 第一編集部

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

SPONSORED