人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

フォルダ内にある html ファイルの文字数/単語数を調べたい
★ぴったりの回答には 500pt ?★

■やりたいこと
あるフォルダに html ファイルが大量にあります。100 以上と考えてください。各ファイルの文字数/単語数を調べて一覧にしたいと思います。

たとえば、Word VBA でフォルダ内の *.html を 1 つずつ開いてワードカウントの情報 (単語数、文字数など各種の情報) を取得して Word 内の表に並べていくとか、Excel シートに並べていくとか・・・

質問などあればコメント欄にどうぞ
よろしくお願いします。

Win XP Home, Word 2003, Excel 2003

●質問者: にぎたま
●カテゴリ:コンピュータ
✍キーワード:Excel HOME HTML VBA WIN
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● airplant
●800ポイント ベストアンサー

WSHが一番適切と思いましたので、スクリプトを作ってみました。

Option Explicit

Const wdStatisticWords = 0
Const wdStatisticLines = 1
Const wdStatisticPages = 2
Const wdStatisticCharacters = 3
Const wdStatisticParagraphs = 4
Const wdStatisticCharactersWithSpaces = 5
Const wdStatisticFarEastCharacters =6

Dim strArg
Dim objFSO, objWord, objDoc, objRng
Dim objFolder, objFile

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWord = CreateObject("Word.Application")
objWord.Visible = True  ' 表示が煩わしいならコメントにする

Wscript.Echo "ファイル名,文字数,単語数"
For Each strArg In WScript.Arguments
 Set objFolder = objFSO.GetFolder(strArg)

 For Each objFile In objFolder.Files
  ' htmも許すときは適宜変更ください
 If Lcase(Right(objFile.Name, 5)) = ".html" Then
 Set objDoc = objWord.Documents.Open(objFile.Path)
 Set objRng = objWord.ActiveDocument.Content
  ' ディレクトリ不要なら objFile.PathをobjFile.Nameに変更ください
 Wscript.Echo objFile.Path & "," & _
 objRng.ComputeStatistics(wdStatisticCharacters) & "," & _
 objRng.ComputeStatistics(wdStatisticWords)
 objWord.Documents.Close
 Set objDoc = Nothing
 Set objRng = Nothing
 End If
 Next
Next

objWord.Quit

●使い方

cscript wordinfo.vbs . aaaa >output.csv

wordinfo.vbsの後ろには、調べたいディレクトリを書きます(複数可)。

カレントなら「.」、相対なら「aaaa」のように、当然「C:\hproot」のように絶対パスもOKです。

最後に「>output.csv」のようにリダイレクトしてファイルに落としています。始めは、この「>output.csv」をつけなければ画面に表示されますので、その後でリダイレクトしてファイルに落とすのがいいかも知れません。

◎質問者からの返答

ありがとうございます。

柔軟に変更ができそうなコードで助かります。

ざっと試しましたが期待通りの結果になっています。

ほかの文字カウント情報も出せるようですし、

ちょっと手を加えれば別のファイル形式にもいけそうです。

大変助かりました。ありがとうございます。


2 ● keino
●20ポイント
  1. ubuntuなどLive CD(ハードディスクにインストールしなくても動くLinux)でboot
  2. 目的のファイルがあるディレクトリに cd
  3. wc * > result.txt
  4. XPを起動しなおして result.txt から Excelファイルに貼り付ける

というやり方は、きっと質問者の好みには合いそうもないな

◎質問者からの返答

ありがとうございます。

ご指摘の通り、確かに合いそうもないですね。


3 ● kaerx
●0ポイント

以下のソフトはどうでしょう。

JW - ファイルの行数、単語数、文字数を数えて、標準出力に出力

http://www.vector.co.jp/soft/dos/util/se000851.html

Text Analyzer

テキストの簡単な解析(文字数,行数,英単語数,原稿用紙枚数のカウント等)

http://www.vector.co.jp/soft/win95/util/se144972.html

◎質問者からの返答

ありがとうございます。

手軽にできそうなのはよかったんですが、

html ファイルですので、タグの情報などはカウントしたくありません。

ソースの状態ではなく、ブラウザ上(ワード上でも可)で表示される文字数/単語数が知りたかったのです。ご紹介いただいたソフトで実現可能かどうかちょっとわかりませんが、先によりよい回答をいただいていますのでそちらで対応しようと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ