スポンサーリンク

【GAS】Googleドキュメントで一文の文字数を数える(カウント)する方法

最近、ライター組合内でGAS(Google Apps Script)の勉強をする機会がありました。

GASとは、Googleサービスを利用するため、JavaScriptにさまざまなオブジェクトを追加したもの。

GASを使うことで、Googleが提供するサービス(GmailやGoogle Appsなど)を統合処理できるんです。

そこで、今回は「Googleドキュメントで一文の文字数を数える(カウント)する」スクリプトを組んでみたので、備忘録として記事に残したいと思います。

ちなみに、作ったのはこんな感じのツールです。

とても最低限の機能しかなく未完成、まだまだ改善の余地があるものですが、少しでも参考になれば幸いです。

Googleドキュメントで一文の文字数を数える(カウント)するスクリプト

実際に文字数をカウントする処理は、以下のように記述しています。

ソースコード
function docTextcount() {
  // ドキュメントをIDで取得
  var docTest = DocumentApp.openById("1pMarsO_xK1vpgnMYxnoNoFYIsfEcs0t_Q3Djts7Ailw");
  // ドキュメントの文字を取得する
  var text = docTest.getBody().getText();
  // 取得した文字を「。」で区切る→「。」は消える
  var checkary = text.split("。");
 
  for(var inum = 0; inum < checkary.length; inum++){ 
// 区切った文字の長さを取得
     var count = checkary[inum].length; if(count >= 40.0){
      DocumentApp.getUi().alert(checkary[inum] + "。\n---------文字数は「" + count + "字」です。文字数が40字を超えています!---------");
    }
  }
}

簡単な説明はコメントに入れている通りです。

GoogleドキュメントのIDと文章を取得した後に、「。」で文字を区切って配列に格納します。

GoogleドキュメントのID
「https://docs.google.com/document/d/ “ここに記載されているのがIDです” /edit」

あとは、配列に入っている文字数を順番にカウントしていく、といったシンプルな作りになっています。

コードを見ての通り、

  • 文中に「。」が入った場合
  • 「。」がない文章、「!」や「?」の場合

など、対応できていないところは多くあります。

自作メニューの作り方

スクリプトの実行に、いちいちスクリプトエディタを開くのが面倒な人は、自作メニューを作っちゃいましょう。

自作メニューは以下のサイトから、該当コードのコピペで作れます。

参考 Google Apps Scriptを使った独自メニューの作り方Qiita

実際に、私が作った自作メニューが以下のコードです。

ソースコード
function docTextcount() {
/**
 * ファイルを開いたときのイベントハンドラ
 */
function onOpen() {
  // Uiクラスを取得する
  var ui = DocumentApp.getUi();
  // Uiクラスからメニューを作成する
  var menu = ui.createMenu('自作メニュー');
  // メニューにアイテムを追加する
  menu.addItem('文字数カウント', 'docTextcount');
  menu.addToUi();                            // メニューをUiクラスに追加する
}

簡単にでしたが、今回作ったツールについては以上です。

簡単でいいから、文字数の確認をしたい人は、ぜひ参考にしてくださいね。

すっちー

最後まで読んでいただきありがとうございました!

スプレッドシートのリファレンスは、以下のサイトで確認できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください