=========================  メモ書き付け用 日付ファイル作成用VBスクリプト  作成2003 OCTOBER 14th =========================  目次  1はじめに  2権利上の使用条件  3必要なマシンの環境  4操作方法と機能  5連絡先  6動作ロジックの概略:参考資料 −−−−−−−−−−−−−−−−−−−−−−−−− =====  1はじめに  このスクリプトはWINDOWS上で覚え書きメモを 入力するために最低限必要とされる入力フォームの提供 とその時点の日時時刻を名前としてテキストファイルを 作成するためのHTMLスクリプトです。  このプログラムは書き付けメモを入力するための最低 限度の機能しか含んでいません。  システム時計のその時刻をもとにした一意なファイル 名を作成し、その名前のもとにメモの内容を保存する機 能のみしかありません。  ファイルの再編集やファイルのリネームやコピーは直 接作成されたテキストファイルをメモ帳で編集して下さ い。  また文字列内容の検索はWINDOWSの検索機能を 使用して下さい。  2権利上の使用条件  有償にします。  以下の口座に振り込んで下さい。  東京三菱銀行0005  池袋東口支店 173 普通0877927 君島 一基  一人一口500円  3必要なマシンの環境  インターネットエクスプローラ4.0以上が動作する WINDOWS95以上の環境で使用できます。 よくある組み合わせとして   WIN95   +エクスプローラ4.0   WINNT4.0+エクスプローラ4.0   WIN98   +エクスプローラ5.0   WIN2000 +エクスプローラ5.5以上   WINME   +エクスプローラ5.5以上   WINXP   +エクスプローラ6.0  という組み合わせの環境で動作可能です。  VBスクリプトエンジンのバージョンによっでは使用 できない関数があることが判明し、古いバージョンのエ クスプローラでも動作が可能なようにコードを改変しま した。(IE4.0では文字列処理のための正規表現オ ブジェクトが使用できません。)  4操作方法と機能  アーカイブファイルMEMOH100.EXEをダブ ルクリックで自動解凍させ、スクリプトファイルMEM OEXEC.HTMをデスクトップ上にコピーし、ダブ ルクリックで起動して下さい。  入力フォームが現れます。 フォームの解説  −−−−−−_□X  「   編集ウィンドウ          」  ファイル名ウィンドウ 保存ボタンsave  新規ファイル名ボタンnewfile 署名入力ウィンドウ  編集フォームの内容を初期化するボタンclear  :テンプレート読み込み  −−−−−−  初めて起動したときは、このフォームはデスクトップ 上に編集メモテキストを収納する「local」という ディレクトリを作成します。  このスクリプトが使用するすべての被編集テキストと 、2種の設定関係のファイルはすべてこのlocalフ ォルダのなかに収納されますので、バックアップするこ と無しに不用意にこのフォルダを削除することはしない で下さい。  またこのスクリプトの仕様として、この作業フォルダ はかならずデスクトップに作成されます。  このスクリプトはこのスクリプトファイルがあるディ レクトリではなく、それを読むところの動作実体である インターネットエクスプローラのある(厳密にはレジス トリによってエクスプローラの実体がデスクトップに存 在しているように設定がされている)デスクトップの相 対パスとして全ての操作ファイルを管理します。  −−−−−−−−−−−−−−−−−−−−−−−−  動作の詳細  ・起動  クリックして起動した後スクリプトはデスクトップ上 に作業フォルダlocalを無ければ作成して確保しま す。  またlocalフォルダがすでに存在し、なかに設定 ファイル  TEMPLATE.TXT 編集用のテンプレート  SIGNCNFG.TXT ファイル名のための署名 が存在しているときはその内容を読み込み表示します。  それらのファイルがlocalフォルダに存在してい なかったり内容が空白で会った場合は表示動作は無視さ れます。  設定ファイルの解説  ・TEMPLATE.TXT  編集フォーム上で必要とされる書式のテンプレートを 格納するファイルです。  住所録や売上伝票のように毎回入力項目が決まってい る文書のテンプレートとして便利な機能です。  localフォルダのなかにWINDOWSの「ファ イルの新規作成」として使用する方がが独自に作成して 下さい。  ファイル名は大文字小文字でもかまいませんがかなら ず半角名である必要があります。  ・SIGNCNFG.TXT  ファイル名の後半に作成者名などのユニークな署名を 固定保存するためのテキストファイルです。  動作表示画面で署名窓に文字列を入力して下さい。  一回でもファイルを保存したときに自動的にSIGN CNFG.TXTが自動的に作成されます。  あるいは同じく半角名でファイルを作成して下さい。  このファイルはフォームが起動したときに一度だけ読 み込まれてファイル窓に表示されます。  内容は短めの文字列を一行だけ記入して保存して下さ い。文字は全角半角両方可能ですが、短めの文字列でな いとあとでファイル名が長くなります。記入文字に改行 コードが含まれているときは、自動的に削除されます。 またファイル名として不適切な半角記号は入力しないで 下さい。異常動作の原因となります。(考慮できる範囲 の半角記号は自動でアンダーバーに置換されるようにロ ジックを組んであります。)  −−−−−−  フォームが表示されると編集フォームウィンドウ上に テンプレートファイルの内容が読み込まれ表示されます 。  また起動時の日時で新しくファイル名が決定され、テ ンプレートファイルの表示に従って保存されます。  ・編集保存すべきファイル名の決定  「newfile」ボタンをクリックして下さい。  保存すべきファイル名がその日の日付時刻と設定され た署名文字窓の文字列を合算したかたちで決定されます 。  同時に旧編集窓の内容でその新しいファイル名で保存 されます。  −−−−−−−−  ・入力  編集フォームの上でメモ帳感覚で編集して下さい。  ・保存  保存ボタン save を押し下すと、その現在のファイ ル名で保存されます。  既に同名のファイルが存在している場合にはプログラ ムは一度だけダイアローグを表示し、上書きの許可を求 めてきます。  ・ファイル名を変更して保存する  このプログラムはファイル名を任意に変更して保存す ることは出来ません。NEWFILEボタンを押した場合は編 集内容はそのままでファイル名の日時名のみ変更されま す。新しいファイル名でもその内容はこの時点で保存し ます。  5作者の連絡先  多忙のため原則返事はお出ししていません。  MIYAMA.  kaz_kimijima@livedoor.com  http://kimijima.tripod.co.jp  6動作ロジック  −−−−−−−−−−  主に機能ボタンを押し下すことに動作を制御 するイベントドリブン型のスクリプトです。  ここではプロシージャのことも関数と記述し ます後学氏のために動作原理を解説します。  イベントの詳細  フォームロード時の初期化イベント  保存ボタンsave押し下し  時刻形式ファイル名決定ボタンnewfile押し下し  編集文書初期化ボタンclear押し下し  −−−−−  フォーム上の窓やボタンの宣言  ボタンの押し下し時呼び出し変数の定義   saveボタン>>save関数   newfileボタン>>newfilenamefix関数   clearボタン>>clear関数  VBスクリプトの開始−−−−−−−−−−−−−−  1スクリプト読み込み時のイベント  グローバル変数の宣言   作業フォルダ名 編集ファイル名   テンプレートファイル名 署名ファイル名   (フォルダ名を除いてそれぞれ単一ファイル名と絶   対パス名を用意)   ファイルシステムオブジェクトをグローバル領域に   確保   読み書きのテキストストリームオブジェクトもグロ   ーバル領域に確保  グローバル変数の初期化定義:   それぞれの文字列の代入  初期化としてのいくつかの関数の呼び出し   作業フォルダの有無のチェックcreateworkfolder関   数呼び出し   テンプレートファイルがあれば読み込む   readtmplate関数呼び出し   署名テキストがあれば読み込む   readsigncnfg関数呼び出し  2関数実体CreateWorkFolder  作業フォルダの存在をチェックする関数  3関数実体ReadSignCNFG  署名テキストを読み込む関数   読み込んだ文字列から改行を除去して署名表示ウィ   ンドウに引き渡しSignaTureTXTTune関数呼び出し   チェックした文字列は署名窓に再表示  4関数実体SignaTureTXTTune  呼ばれると署名テキストの内容を不適文字について調整する  >>>>>>関数呼び出しRmvCRLFandTrans2underbar  5関数実体tuneTuneSignaTuneTureDefault  ファイルがない場合初期値文字列を渡す  6関数実体WriteSignCNFG  署名テキストを書き込む関数   書き込む前に改行コードを除去不適文字置換>>関数呼び出し  7関数実体NewFileNameFIX  新しい時刻形式のファイル名を決定する関数   署名テキストの改行コードを除去   内部時計オブジェクトから日時の文字列を取得   ファイル名からスラッシュとコロンを文字列のため   にアンダーバーに置換>>RmvCRLFandTrans2underbar関数呼び出し   時刻名を常に00形式の文字列に変換する>>monoNum2Double関数呼び出し   この形式のファイル名で一度localフォルダに   保存する>>save関数呼び出し   ファイル名ウィンドウにファイル名を表示させる  8関数実体RmvCRLFandTrans2underbar  ファイル名のためのスラッシュとコロンを除去する  文字列関数なおスラッシュとコロンだけでなく不適切と思われる  半角記号をも全てアンダーバーに置換するように機能を拡張  半角かなの置換は考慮していない  9関数実体MonoNum2Double  時刻名をたとえば1時から01時の文字列00形式に  変更する関数  10関数実体ReadTmplate  テンプレートファイルを実際に読み込む関数  テキストストリームに従ってテンプレートファイルの内容を  読み込む、内容が0バイトの場合 「ファイルは空です」と表示させる。  11関数実体save  編集窓をファイルに保存する保存マネージャ関数   現行表示の署名ウィンドウの文字列を署名テキストに書き戻し   実際保存論理を呼ぶ>>realsave関数呼び出し  12関数実体RealSave  実際に保存処理を行う関数   現在設定されている内部変数としてのファイル名に    もとずき編集ウィンドウ内の文書をファイルに書    き込む編集窓の内容が0バイトの場合は改行コー    ドのみを書き込む  13関数実体Clear 編集窓を初期化しテンプレートファ  イルを読み込む関数   テンプレートファイルを探し、内容を読み込むなけ    れば「ファイルがありません」などの表示を表示    する>>readtemplate関数呼び出し