段組整形ツール 羊羹の型 長大テキスト用 VER0.99 2007 May インターネットエクスプローラーのバージョンチェック 読み込み用ファイル名(原則デスクトップにあること) 一行あたりの文字数(全角文字として) 禁則処理をする する場合半角の1 しない場合0 HTMLのタグがある場合できるだけ削除 する1 しない0 使用書兼解説書 readme.doc ーーーーーー 段組整形ツール 羊羹の型 長大テキスト用 VER0.99 CopyRight MIYAMA. 2007 May kaz_kimijima@yahoo.cp.jp http://kimijima.at.infoseek.co.jp 1 はじめに 今回のツールは前回提供した操作画面張り付け型のツ ールの長大テキストファイル用バージョンです このツールはランダムに記載がある日本語のテキスト ファイルを たとえば25文字や30字ごとに行整形するツールで す 日本語用です すべての半角スペースは全角スペースに変換されます 半角英数字は二個で一文字と認識されます またこのツールの性格については前作 張り付け型の 羊羹の型のreadmeもご覧ください 2 梱包ファイルの明細 アーカイブファイルlongbp99.exeをダブルクリック してください 黒い画面上で自動解凍が始まります(LHA形式) 2−1 longjbzp.htm ユーティリティ本体としてのHTMLファイルです パソコン上のデスクトップで使用します 操作はこの画面上で行います(今回はreadmeとしての 記述はこのファイルの上に 書きました) 2−2joinhttx.bat データファイル結合用のバッチです 処理にかけるデータテキストがあるフォルダで使用し ます(後述) 3 動作条件 このツールはWINDOWS95以上 インターネットエクス プローラ5.0以上のAT互換機で動作します マッキントッシュやネットスケープでは動作しません 文字列処理の論理部がエクスプローラの内部関数(VB Aライブラリ)を使用しますので低バージョンのエクス プローラでは動作しません たぶんメモリーは64メガあれば十分だと思いますが 数メガのファイルをポインタとして開いたまま種種の処 理をするのは多少システムに負担になるらしく 「スクリプトをこのまま実行すると画面がフリーズする おそれがあります」 というメッセージが出ることがあります 大抵の場合そのまま実行しても大丈夫のようですが念 のため重要なファイルを別のアプリケーションで開いた ままの操作はおやめください またこのツールは素のテキスト形式のファイルしか処 理できません ワードなどで作成した文書データをかける場合にはテ キスト形式で保存したファイルをご用意ください 4 使用目的の想定からみた解説 具体的にユーザがこのツールをどのような目的で使用 するのだろうかという想定のもとに解説します これはもともと巨大(数メガ)なサイズのテキストフ ァイルの段組整形ができるように論理が設計されている ところのユーティリティです 比較的な小さな要領のファイルであれば段組整形は前 回の張り付け型のユーティリティでも十分だとおもわれ ます しかし前回のツールはいったんデータファイルをメモ リ上に一回全部取り込んでしまうので大きなデータの場 合マシンのパフォーマンスを渋滞させることも起きまし た 今回は約1メガバイト程度の巨大テキストでも処理で きるように ファイルの冒頭から読み込んで処理できるように内部 論理を大幅に組み替えました 実際的には数メガバイトのテキストファイルというも のは自分が打ち込んだ文書ではなくlogファイルや採集 データのような自然蓄積型の巨大データ文書であること が業務や作業の実際だとおもいます 今回は素朴にインターネットを閲覧していてWEBペー ジをローカルのパソコン上に複数のコピー保存している 場合を想定してみました 長めの文書を合体すると全部で数メガの容量になるこ ともめずらしくはありません 5 操作の実際 デスクトップや任意のドライブの任意のディレクトリ (フォルダ)に採集してきたWEBテキストが複数あるこ とを仮定します 5−1 これらのファイルをすべてひとつにまとめた巨大なフ ァイルを同梱されているバッチファイル(joinhttx.bat )を使って作成し 5−2 そのファイルに対してこのHTMLユーティリティ(long bp99.htm)で処理を行います 今回はHTMLユーティリティの論理を作成する事がメイ ンでしたのでこの結合処理(バッチ)には簡単な論理し か用意しませんでした このバッチファイルを使用するとフォルダ内部のテキ ストファイルをすべて結合した出力を得ますが 出力ファイルにそのファイルの元のファイル名やファ イル名などによる章別形式など内容配置の優先などは全 く考慮されていません 6 joinhttx.batによる 結合操作 処理はWEBテキストを格納しているフォルダを対象に 行いますが データの安全性を考慮して必ずそのフォルダーのコピ ーフォルダーを作成し そのコピーフォルダ内部でこのバッチファイルの操作 をしてください このツール内部には極端に危険な論理は記述されてい ませんが 意図を持って内部論理を書き換えたりすると非常に危 険です そのフォルダに 解凍したファイルのうちjoinhttx.bat(歯車マーク) をコピーし そのjoinhttx.bat をクリックします 一瞬黒い画面が開き 結合ファイル join.doc が出力されますこのjoin.docをデスクトップにコピーし てください このファイルは拡張子がdocになっていますがワード のファイルではありませんもとのTXTの拡張子のファイル との混同をさけるために便宜的に使い分けています --joinhttx.batの内容 (command:この内容は絶対に編 集しないでください) copy *.htm* html.tmp copy *.txt text.tmp copy *.tmp join.doc del html.tmp del text.tmp ------ 8 longjbzp.htmでの操作 上記のlongjbzp.htmをクリックすると操作画面が現 れます ----------------------------------------_□X エクスプローラのバージョンチェックボタン 入力ファイルファイル名(filename.txt) 実行ボタン(GO!!) 一行あたりの文字数設定 禁則処理をする画面 する場合は値1 HTMLファイルのタグをとる画面 する場合は値1 ---------------------------------------------- 今回は張り付けも途中経過の表示も必要がないので画 面はごくシンプルです 今回はwebページが元データであることを想定してHT MLタグを除去する論理を組み込みました 技術的な理由がない限りこのスイッチは解除しないで ください 出力ファイルが読みづらくなります 禁則処理とは折り返し時点で区切り文字,、.。が文頭 にこないようにする機能です(かっこでの禁則はしませ ん) どちらの設定小画面とも半角数字1があることでonに なります 解除は値を0でも2でもの変更でかまいませんただし削 ったままだとエラーになります 禁則処理に関連して、ピリオド.やまる。のあとに空 白文字(半全角スペースおよびタブコード)があった場 合そこで段落の区切りとこの機能は判断して行の途中で も改行します ーーーーー ファイル見入力窓に該当ファイルの名前を入力し( 結合バッチjoinhttx.batを使用した場合はjoin.doc と改めて入力してください初期値のfilename.txtとい う名前は一般名であり最初にはこのファイルは存在して いません) goボタンを押し下すと 入力ファイル名にあるファイルを探して論理は処理を 行おうとします ファイルが見あたらない場合はエラーメッセージが表 示されます 正常に処理が行われるとデスクトップにOUTPUT.DOC (ワードではなくテキスト形式)が出力されます クリックして内容を確認してください 注意 この論理はすべての空白文字の固まりを全角スペース 一文字に統一します 最終的に統一される空白は半角スペースでも よいのですが 文書をHTMLなどに再利用するとき 論理タグの記述によっては半角スペースを無視してし まうことがあるので全角文字の設定にしました 9 ファイルのパス(相対位置)に関する注意 WINDOWSアプリケーションとしての基本設定としてエ クスプローラはファイルをデスクトップを中心に入出力 しますのでこのユーティリティもファイルの入出力はま ずデスクトップにあるファイルをあつかうように想定さ れています おそらくインターネットエクスプローラがシステムフ ァイルを不用意に破壊しないようにというWINDOWSの構 成上設定なのだとおもいます よそのドライブやフォルダの中のファイルをアクセス したい場合には煩雑な絶対パス記述が必要なので遠いと ころにあるファイルから入出力することは実際的ではあ りません(DOSの時代には皆必死に入力していましたが) インターネットエクスプローラのこの性格はWINDOWS のシステム設定なので実際的には変更はできません 入力ファイル(テキスト)をデスクトップに置きこの ツールがそのファイルの存在を認識できれば文字列処理 が開始します なお長いファイル名や漢字などが入ったファイル名な どはたとえばhoukoku.txtなどのまちがいにくい名前に 変更して処理にかけることをおすすめします 10 使用許可と免責 このツールはフリーウエアです 配布使用に関しての特に制限はありません またこのツールを使用しておこるいかなる損害に対し ても作者はその責任を負いません 重要なマシン上での操作、またバックアップデータを 取っていない状態での処理などは絶対にお避けください 11 あとがき 今回のツールの概念は比較的簡単なものです 情報処理の学校などでは初年次でたたきこまれるもの らしいです(基本的な考え方の記されている入門は図書 館の専門書の棚で高校生のときに読みました) ただ例外処理の分岐に意外に手間取りました 12 仕様としてのまとめ ・動作環境 ペンティアム100メガ程度以上のAT互換機で動作し ますメモリは64メガもあれば十分だと思います 作成環境はセルロン533メガヘルツ192メガバイ トメモリWINDOWS98SEです WINDWOSは95でもかまわないと思いますが インターネットエクスプローラは5.0以上が必要で す 買ったときにXPがインストールされているマシンであ れば問題はないでしょう 実行中に「パフォーマンスが停滞していますスクリプ トの実行を中止しますか」とでますが無視して続行して かまいません ただし念のためこのツールを使用する前に かならず重要なファイルをバックアップをとり またべつに重要なファイルの編集をしながらこのツー ルを使用しないでください マシンがフリーズする可能性もあります 4メガのテキストをかけた場合、約1分弱反応が遅く なりました ・DOCファイルについて 中間ファイルとして作成されるJOIN.DOCとOUTPUT.D OCはテキストファイルです ワードのバイナリファイルではありません JOINHTTX.BATは絶対に編集しないでください ・LONGBP99.HTMについて 数値と設定の入力 数値を入力する窓にはかならずなにかしらの数値を入 力してください 空白チェックはしないので欄がからだとインターネッ トエクスプローラのエラーになります その場合は一度閉じてこのファイルをまたクリックし 直してください するしないの論理設定窓でしないを選択する場合は1 以外の半角数字を入力してください 0でも2でもかまいません 一行あたりの文字数は全角文字相当の文字数です たとえば40文字の設定で半角文書などは約80文字 になります 空白文字の処理 すべての空白文字は全角スペースになりますこれは文 書の再利用の時HTML文法は記述によっては半角スペース を表示上無視するからです よって実際上このユーティリティは日本語用です (英文用に同等のものを考えた場合、単語が改行で切れ るのを一般に嫌うのでそれはキャラクタベースのソフト よりはプロポーショナルフォントの領域に近くなるでし ょう 以上余談) また複数の空白文字が固まって存在している場合 それは一律に一つの全角スペースに変換されます 改行を挟んだスペースも該当して処理します 禁則処理 行頭にあることが嫌われる文字は禁則処理として行末 に置かれます 以下の文字が対象です(数式を含む文書は場合によっ ては構成が乱れます) 半角 カンマとピリオド,. 各ブラケットの後ろ半分 ])}> 全角 点と丸、。 各かっこの後ろ半分」)> 段落改行 文末とみなされる区切り記号のあとに空白文字がある ばあい 意味の区切りと判断して段落としての改行を行います 段落間には空白の行は挿入されません 文末区切り記号は上記の禁則文字のうち半角カンマと 全角句読点をのぞいたすべてのキャラクタです もとのhtmlタグの除去 もとの文書がWEBテキストであった場合閲覧上煩雑な HTMLタグをできるだけ除去することができます HTMLタグがもとの文書の一つの行に収まっている場合 は一行ごとの正規表現を使用できるのですべて除去され ますが 属性が大量に記述されている複数行にもわたるタグは 除去できません これはこのツールが一行ごとに処理をする設計になっ ているためです またスタイルシートやXMLタグは除去できません作者 はXMLタグの文法を知りません 泣 ーーーーーーーーーーーーーーーーーーーーーーーーー