=========================  作業ディレクトリ用複数テキスト一括マージプログ  ラム:  マージテキスト ver1.00。 =========================  2002年 OCT 11th−NOV05th記入  目次  1 はじめに。  2 このプログラムの動作の詳細。   2−1 コピーの動作論理   2−2 エラーコードと動作記録   2−2 エラーコードと動作記録   2−3 ネットワークドライブについて。   2−4 ファイルの属性変更について  3 注意事項(重要)   3−1 バックアップ動作について   3−2 HTMLテキストについて   3−3 念のため:サブディレクトリはコピーされません   3−4 重要   3−5 WEEKCLN.EXEの動作ディレクトリに対する操作  4 動作条件:VBのDLL関係  5 操作画面の解説  6 使用条件  7 作者の連絡先  −−−−−  1 はじめに。  忙しいひとはあちこち歩き回るので、複数のマシンや ディレクトリに、同一のファイル名で文書が散脱しがち です。  フロッピーやネットワークでファイルを持ち歩いても いいのですが、  メインマシンにファイルを移植する段になって、ファ イル名が同一だった場合、移植される側のマシンは必ず 上書きされてしまいます。  WINDOWS環境がこのようになっている背景はお そらく、追加型編集が苦手なエクセルやワードを販売と して押さざるを得ないマイクロソフトの結果的な都合な のでしょう。  このプログラムは、テキスト形式に限り、異なるドラ イブ(ネットワークドライブを含む)に存在する任意の ディレクトリのテキストファイルをターゲットのファイ ルに対して追加書き込みをするプログラムです。  このプログラムは以下の5つの拡張子のファイルを認 識します。  TXT  LOG  HTML  HTM  CSV  2 このプログラムの動作の詳細。  重要:処理の対象はテキスト形式のファイルに限りま す。  読み取りもとのディレクトリにあるテキストファイル を順次呼び出し、その内容を書き込み先のディレクトリ に順次コピーしていきます。  書き込み先のディレクトリがもともと空の場合は単純 なコピーを行いますが、  書き込み先のディレクトリにすでにいくつか同名のテ キストファイルがある場合、このプログラムは以下のよ うな動作をします。  2−1 コピーの動作論理  ・ 元々あるファイルを「−bak.txt」の拡張 子を追加してバックアップファイルとしてコピーします 。  この際、一つ前の処理で作成された該当内容の−ba k.txtの拡張子をもつファイルは、上書きされます 。  つまり処理直前の内容は一回しかバックアップされま せん。  ・ 書き込み先の更新されるテキストファイルは  「上書きモードではなく追加モードでオープンされ」  読込もとの同一ファイルの内容が流し込まれます。  ファイル追加部分の区切りには追加するテキストファ イルの元の名前と追加した日時が書き込まれます。  例(備考をも参照してください。) 「--append by merge program from  c:\winnt\profiles\administrator\デスクトップ\memo05\report05.txt 02/10/17 午後 7:42:02-----」 の文字列が挿入されます。  2−2 エラーコードと動作記録  このプログラムは、その動作に於いてデバイスの状況 を比較的詳細に検査します。  このプログラム自体はには、VISUALBASIC により作成されたVB由来のエラーには特に配慮はして いませんが、  ファイルの読み書きを開始した時点ではエラー待避モ ードに入り、  エラーが発生してもこのプログラム自体は強制終了さ れないようになっています。  ただし、読み書き上のエラーが発生した場合は、エラ ーが発生したファイル名とエラー種類番号が動作記録ロ グACTORERR.LOGに記録されます。  もっとも良く出るであろうエラー番号は  70番:書き込みできません  が記録されるはずです。(LOGに記録されるメッセ ージは英文です。) 例 VBErrorOccured.エラー番号 そのファイルのパス名 エラー番号の詳細 52 ファイル名または番号が不正です 53 ファイルが見つかりません 54 ファイルモードが不正です 55 ファイルはすでに開かれています 57 デバイスI/Oエラーです :フロッピーディスクドライブで発生した場合、 ディスク本体あるいは読み取りヘッドが汚れているか破損している可能性があります。 58 すでに同名のファイルが存在しています。 59 レコード長が一致しません 61 ディスクの空き容量が不足しています 62 ファイルにこれ以上データがありません 67 ファイルが多すぎます 68 デバイスが準備されていません 70 書き込みできません 71 ディスクが準備されていません 74 ディスク名は変更できません 75 パス名が無効です 76 パスが見つかりません 76 パスが見つかりません  設計、動作チェックしている限り、(ディスク容量に 関わるもの以外の)これらのエラーは出ないはずです。  また上記のエラーも、動作中にFDDを抜き差しした 、あるいは動的にリモートネットワークのドライブのコ ネクションを解消した、などの操作をしない限り発生し ないはずです。  これら以外のエラーが発生したときは、このプログラ ムの設計上の原因ではなく、使用するPCのメモリ容量 ないし、システムDLLファイルの破損、バージョン不 整合などが考えられます。  他のマシンでも試してみてください。  注意:読み書き監査内部ブロック以外でVISUAL BASICエラーが発生したときはプログラムは強制終 了されますが、ファイルへのアクセスを行っていないの で、データは破壊されないはずだとおもわれます。  細心の注意をはかってシステム論理を作成しています が、最終的な使用の責任は使用者が自己管理の元に行っ てください。  また、正常に動作した場合も、挙動の記録がLOGに 記録されます。  例 上の行 書き込まれるファイルの処理直前の属性 下の行            処理直後の属性 ファイルのパス名 最終変更日時 ファイルの容量(バイト数)  アクセスエラーが出ない限り、変更日時とファイル容 量が変更されます。  動作確認の目安になりますが、重要なファイルは必ず 逐次内容確認と定期的な別の方法によるバックアップを 行ってください。  2−3 ネットワークドライブについて。  ネットワークを通じて共有資産にアクセスするネット ワークドライブは、ネットワークの設計・運用上の条件 によりその性質が大きく制限されます。  このプログラムからネットワークドライブをみた場合 、読み取り側の動作として特に問題はありませんが、  書き込み対象としてネットワークドライブをみた場合 、使用に当たっていくつか留保しなければならないこと があります。 。  PCの個人使用者には取っつきにくいかもしれません が、ネットワークドライブは一種のフロッピーディスク のようなものだとかんがえると、わかりやすいかもしれ ません。  動作上は、ネットワークドライブは  ・書き込み可能  ・書き込み不可能:読み取り専用  の二種類のドライブのどちらかとして端末クライアン トからは見えているはずです。これはWINDOWS上 からマイコンピュータ経由で確かめることが出来ます。  これらはWINDOWSのユーザー権限管理によって 属性が決定されます。  ドライブの属性の設定は種種複雑なものがありますが 、少なくともアクセスする側から見る限り、資産として 見える限りは上記の二種類として認識されます。  重要:  上記のネットワークドライブで、属性が読み取り専用 の場合、  それは「書き込み禁止の爪を明けた」フロッピーディ スクのように振る舞います。  つまり、その中にあるファイルの書き込み可能の可否 に関わらず、そのドライブ全体が権限によってガードさ れていて、外部からのファイルの変更を許さないような 設定になっています。  この設定は、アクセスされる側のマシン、あるいはサ ーバのそのフォルダあるいはディスク資産の設定に因る ので、アクセスする側のマシンでなにを行ってもその設 定を解除することは出来ません。  ピアトゥピア型のネットワークであれば、アクセスさ れる側のマシンの設定を変更するか、  クライアント・サーバ型のネットワークであれば、シ ステム管理者に自由にアクセスできるフォルダ資産を新 規のネットワークドライブとして割り当ててもらってく ださい。  ただし、重要なネットワークにこのプログラムを適用 させることは絶対におやめください。  このプログラムはあくまで書き込み先にユーザーPC のローカルディレクトリが使用される前提の元で設計を しています。  2−4 ファイルの属性変更について。  このプログラムは、処理の過程で、書き込み先のテキ ストファイルの属性を変更します。  ただし書き込み先のすべてのテキストファイルの属性 を変更するのではなく、  読み込みもとのディレクトリとファイル名に於いて同 一であると一致したファイルの属性のみ、その処理にと って必要な前処理としてその該当テキストファイルの属 性を強制的に変更します。  読み込み専用  隠しファイル  システム属性  のテキストファイルは、強制的にノーマルモード上書 き可能な状態に変更されます。  実際、システム属性のテキストファイルというものが このプログラムの処理対象になることは低い(このプロ グラムはSYSやINIという拡張子は認識しません) と考えられますが少なくともファイルレベルで書き込み できないエラーを回避するための必要処置としてこの機 能を実装しました。  属性を認識する簡易AIルーチンで、判断できない属 性はないはずですが、万一判断不能なファイルに遭遇し た場合、強制的に属性を変更します。  属性変更に失敗しました、というメッセージが出た場 合はかならずLOGを開き、該当追加書き込みファイル を調べてください。  3 注意事項(重要)  このプログラムはVisualBasic6.0が提 供するファイルシステムオブジェクトにしたがってドラ イブやファイルの管理を行っています。  今回、ドライブの状態検査やファイルの属性なども、 ファイルシステムオブジェクトが提供する状態変数に従 う限りわかる限りの検査はおこないましたが、あるいは 、目に見えないかたちで予期しなかった動作をすること がないとは言い切れません。  また、対象ファイルを強制的に書き込むように設定さ れているので、特に重要な資料の入っているコンピュー タやネットワークにこのプログラムを導入されることは 絶対におやめください。  重要な資料に対して効率化の目的でこのプログラムを 使用される場合、書き込まれる対象被ターゲットファイ ルはこまめにバックアップを取って於いてください。  3−1 バックアップ動作について  書き込み可能なディレクトリでこのプログラムが動作 するとき、追加書き込みされるファイルの旧版の内容を 「ファイル名−bak.TXT」 の名前で一回だけ待避保存をします。  万一プログラムが異常終了したり、間違った操作をし た場合はこの名前のファイルから回復を試みてみてくだ さい。  3−2 HTMLテキストについて  このプログラムはタグを解釈するものではありません 。  結合されたHTMLテキストは、テキストファイルと して編集修正しなければブラウザで表示できないことが あります。 また複数のHTML文書を機械的に結合したときは一応 素朴な書式のHTML文書が元になっている限り、もと の文書の集合として表示できるようです。(HTML3 .0タグ準拠の文書について、インターネットエクスプ ローラ4.0以上の場合)。  これは.....タグ、