• ベストアンサー

VBScriptで指定した範囲の中で対象の文字列が含まれている件数を数えたい

VBScriptで指定した範囲の中で対象の文字列が含まれている件数を数えたいと思っています。 やり方が思いつかずわからないので助けてください。 ログの内容は下記のようになっています。 /*/*/*/*/*/*/*/*/*/*/* 2009/08/08 AM9:00 LOG START /*/*/*/*/*/*/*/*/*/*/* PC01 08:00 PC05 08:10 PC100 07:00 /*/*/*/*/*/*/*/*/*/*/* LOG END /*/*/*/*/*/*/*/*/*/*/* /*/*/*/*/*/*/*/*/*/*/* 2009/08/08 AM10:00 LOG START /*/*/*/*/*/*/*/*/*/*/* PC101 09:00 PC55 09:20 PC111 08:00 PC101 09:50 /*/*/*/*/*/*/*/*/*/*/* LOG END /*/*/*/*/*/*/*/*/*/*/* . . . 一時間ごとにログに情報が書き込まれているわけですが「LOG START」から「LOG END」までの間に指定文字列が含まれる行をカウントしたいと思っています。 その一時間後との値をエクセルに保存していきたいのですが・・・ ヒントなどいただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

VBSでもExcelのVBAでもログが追記である以上ファイルの先頭から1行ずつ読むことは変わらないと思います。 ■文字検索 http://www.whitire.com/vbs/tips0026.html を使い、読み込んだ行に「LOG START」が含まれていたら次の行から指定文字列のカウントを開始し、「LOG END」を見つけたらカウントを終了させる。 指定文字列の検索よりも「LOG END」の検索を先に記述した方が効率的かも。 ■Excelを起動する http://www.whitire.com/vbs/tips0171.html リンク内にセルへの格納が書かれているので参考になると思います。 この手のログ集計をする場合、既に保存されたデータなのか新しいデータなのかをどう判定するかがキーとなります。 頑張って下さい。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Excelに保存するのなら、ExcelVBAではダメなのでしょうか? VBSでもExcelを起動させなければいけないわけですし、ログの行数によっては 一旦シートに取り込んで加工していく方法もありそうですが。

すると、全ての回答が全文表示されます。

関連するQ&A