====================  StakeCLN R2025 v0.01  WeekCLN forWIN10用  積算バッチwStake11用  コメントテキストおよび  支出シートの  積算出力ツール  Copyright miyama. 2025 April  http://kazutomimiyama.sakura.ne.jp  KazutomiMiyamaSub@gmail.com ====================  以下、なかば上気しているので文体が乱れ ています。ご容赦ください。      *  こまった。  うれしい悲鳴なんですが(きゃー)<苦笑  できてしまいました。  展開冒険のドミノ倒しのようです。  それも一日単位での。  ーーーーー  時系列で記します。  WeekCLN 本体 2023 1月上梓  その出力微細ファイルを外部から一気に積 算合体するバッチ wStake11 2024 春  そのバッチファイルの出力積算を表計算で 並べ替えするために作った (空白セルにデータ充填)  簡易のwindowsアプリ 充填くん 数日前  そのツールの文字コードエラーに対応する エディタを使用するパッケージ  2、3日前      *  で、今回抜本的な見直しをして、統合とし ての論理骨格がたった一晩でできてしまいま した。  空白セルを充填する件のツールの行データ を配列で処理する論理を眺めていて、これな らこの上位に  フォルダオブジェクトと  ファイルズコレクションを置けば、  WINアプリとして統合できるじゃん、  じゃんじゃん、  ということで、押したらむこうがわに突き 抜けてしまいました。  こまったな、いままでやってたことはなん だったんだと、  過去数日、がっつんがっつん中古車をぶつ けながら車庫入れしていたようなものです。  最近の世相は大いにゆがんでいるので、  最初の車が高い新車だという御仁も多いよ うです。  それも裕福な家庭に生まれて、自分探しと いう名目でろくに儲からないクリエーターを 気取ったメディア関係の若者:含む女性:が、 ママに新車を・・・口もききたくはありませ んね。自分のことしか語らないから。  フィルムプリントした美少女カーが宝石の ように美しいのは私も認めますが、手足の長 い快活な美少女フィギュアがあの値段なのは 信じられない至福ですが、  しかし漫画の美少女は現実の生き物ではあ りませんから。  全部がひんばじゃあるまいし、という文脈 でつなげると、最後に賞を総なめにするウマ は体重に対して内臓量の多い馬だそうです。 内臓が化学機関となってスタミナを供給する からなのだとか。  美少女フィギュアの体格は、どうみても小 学校低学年の臓物しかありません。あれでは 長丁場は戦えない。ついでにいえばあんな青 龍刀みたいなおおきななぎなたは2、30キ ログラムはあるでしょう。夢をこわしまくっ て申し訳ない。  ユニコードとANSI(SHIFTJIS)の変換に関 しても、  コンパイラのなかに、ユニコードに対応し た新規オブジェクトがちゃんとあり、またさ らには自分はそのオブジェクトを本編のプロ グラムを使用するのに多用していたのでした。  いろいろあってすっかり忘れていました。  当時はそういう機能だと知らなかったのか もしれません。  寓話の青い鳥そのものです。  物理的に青い鳥はすぐ近くにいたのでしょ うが、遠くに行脚する経験をつまなければ、 その鳥が青い鳥だとは気づき得なかった、と いうあれです。      *  ・仕様  複数のツール制作の動機はもちろん機能補 填でした。本編のプログラムが週間帳面を開 いた領域しか積算ファイルを作らない:作り えないことに対する補助補填が目的でした。  普通世間、データとして需要があるのは経 理の領域です。バッチもセル充填ツールも支 出データのシートに対する操作ツールでした。  今回データの流れを設計段階から整理し、  日常コメント欄と経理面を論理スイッチで 使い分けてできるだけ関数などを共有するこ とにし、  日常コメント欄の記事積載ファイルも同じ 論理フローで出力するようにしました。  関数共有という発想は、本編のプログラム も同じです。  プログラムは、本編プログラムのデータフ ォルダを、いちど丸コピーしてからその複製 クローンに対して一括読み込み操作を行う仕 様です。破壊事故を避けるためです。  バッチツールも同じ発想でフォルダをコピ ーしていました。  この仕様のため、すくなくとも最初の一回 は、作業フォルダのデータを丸々コピーしな くてはなりません。この項目は後述します。  内部関数の技術仕様のファイルに、プログ ラムのくせを解説していたところ、おおむね の操作方法も記述してしまったので、  詳しい方法はそちらdetail.txtをご覧くだ さい  ・使用条件  フリーウェアです。使用配布は自由です。  動作条件、使用言語からの製品が動作する という条件でWIN7、8、10、11で動作 するはずです。:VB2017作成。  免責、このソフトを使用して発生するあら ゆる不利益に対して作者は責任を負わないも のとします。  ・操作方法:あらまし  アーカイブを解凍すると以下のファイルが 出てきます。  StakeCLN.exe 実行ファイルです  readme.txt このファイルです  detail.txt やや詳しい解説です  Form1vbS.txt VBソースコードです  ・入力ファイルと出力ファイル  このプログラムはWeekCLNの補助ツールな ので、WeekCLNが蓄えたデータの堆積に対し て動作します。  WeekCLNはCドライブの直下に  c:\daily_folder  という作業フォルダを作るやや行儀の悪い プログラムです。  StakeCLNは起動されると、そのWeek側の作 業フォルダを自分のいるフォルダにコピーし、 そのバックアップに対して処理を行います。 データ破壊をさけるためです。  出力は、自分のいるフォルダにファイルを 作ります。こちら側の作業フォルダの中には 出力しません。Weekの仕様の悪いところの一 つは本来の積算ファイルを細かいデータの森 のただなかに投げてしまうことでした。  ファイル合体機能なので、日々入力のよう な細かい操作性はありません。機能も極めて シンプルです。(大雑把な論理容量はWeekの 十分の一しかありません。)  クリックして起動し、ダイアローグにした がってほしい積算の範囲を指定するだけです。  作業フォルダの内容を、更新のためにWeek 側からコピーするか毎回聞いてきますが、古 い日付のデータ整理なら、それはそんなに頻 繁には必要ないと思われます。  また更新のたびに頻繁に全体を上書きする ので、作業フォルダのなかには絶対に編集し たファイルを置かないでください。  コンピュータは、データ容量ではなく、フ ァイルのアクセスや入出力に時間をとられる ので、数年分のデータなら千程度のファイル とアクセスしなけらばならなくなり、たかだ か数メガバイトのデータでも、フォルダコピ ーやこのプログラムの動作終了にはそれぞれ 10分弱の時間がかかることもあります。  もちろん少なければ一瞬で済みます。  出力ファイルは自分のいるフォルダに  日報コメントの積算 output.txt  経理支出のシート  output.csv  として出力します。  Weekの慣例に倣いました。  上書きを避けるため、データ活用はかな らず別名保存をしてください。  旧充填くんには繰り込めなかった、小計の 合算論理を追加しました。  その日の合計がくくりの最後に一行出力さ れます。  週ごとの合計記載機能はありません。組み 込むべき論理が複雑になり、並び替えを前提 にした集計機能にとってはあまり重要ではな いだろうと判断したからでもあります。  ・画面の解説  ーーーーーーーーーーーーーーーーーー_□X  終了ボタン   実行ボタン  メッセージ   今処理しているファイル日付  日本語か英語か          今の処理が経理か日報か  旧充填くん  機能ボタン  ーーーーーーーーーーーーーーーーーーーーー  あまり説明することもないと思います。  範囲入力は実行ボタン押し下し後、  ダイアローグで聞いてきます。  スラッシュ区切りの  yyyy/mm/dd形式で入力してください。  スラッシュは省略可能です。  半角入力です。  不適切な入力の場合はOKと判断されるまで何回 でもループします。  そのあとデータを新しく持ってくるか聞いてき ますが、数年分の容量であれば頻繁に更新する必 要もありません。  ・旧充填くん機能について  充填くんのフォームにこのStakeCLNを作成しま した。  新しいライブラリでUTFー8問題は解決しま した。  積算バッチファイルを使っていた方もいらっし ゃると想いますので、充填くんの機能は残します。  充填くんの機能を簡単に説明すると、  その対象の事象は、  バッチファイルではあまり入り組んだ実装はで きないので、その出力を表計算で開いたときに、 以下同文の意味で空白セルが存在してしまうこと です。  それを上の行のデータとして空白にコピーする のが機能でした。  前回配布のものでは入出力は固定で、同じフォ ルダ動作で、  入力 outsort.txt  出力 outTuned.csv  でした。  今回煩雑混乱を避けるため、充填くんの機能は  入力 output.csvとします。  バッチファイルの直接出力はこのファイル名で す。  上書き事故を避けるため、ファイルはかならず バックアップを取っておいてください、  Stakeの本編機能は同名でファイルを上書きし てしまいます。  以下は旧充填くんのreademeです。  重複するところもありますが収録します。  ーーーーー  <以下「充填くん」のreadme>    前回制作した、WeekCLN用のデータ積算バ ッチですが、出力ファイルは「以下同文」の 意味の空白セルの連続が多い形式になってお り、  表計算ソフト上で、項目を並べ替えて集計 処理をしようとすると、各行それぞれに厳密 にデータがみたされているわけではないので、 事実上の加工編集処理ができません。  単なる見栄え上の表ならいざ知らず、動的 にデータを編集したいということができませ んでした。  表を眺めていて、これは一行ずつ読み込ん で、区切り文字で配列に渡せばできるなあと 思っていて、簡単な実装なら短時間でできる、 と踏んで試みた次第です。実際、一晩ででき ました(それ以上時間が避けない)。  フリーウェアです。使用配布は自由です。  動作条件、WIN10で動作します。  未検証ですが7、11でも動くはずです。  使用方法  前回上梓したwStake11の出力結果に対して 動作します。。  任意の日付範囲で作成した出力ファイル、 output.csvとおなじフォルダに  Gotune.bat  ForSort.exe  の二つを置いてください。  動作のあらまし  二段階半の手順を踏みます。  一つのツールでは収まりませんでした。  ・文字コードの変換  windows内部と、一般環境ではテキストフ ァイルの文字コードが違います。  伝統的にはwindowsはANSI文字コード を使用していたのですが、インターネットの 時代になって、ユニコードの文字を用いられ ることが多くなってきました。  対外的には、PCでも標準はユニコードなの ですが、システム内部ではANSIコードで処理 が行われているようです。  wStake11で作ったcsvファイルはユニコー ドですが、これをvbで作った実行プログラ ムに読ませようとするとANSIに変換しな くてはなりません。  幸いなことにメモ帳でできます。  Gotune.batはoutput.txtをメモ帳に読ませ 別の名前で保存します。メモ帳の保存メニュ ーの下の方にANSIに変換する項目があり ます。  そして、内部解釈をして空白セルにデータ を流し込む、実行ファイルを呼び出します。  事実上gotune.batをクリックするだけで一 連の流れが開始されます。  このバッチファイルをクリックし、メモ帳 ANSI保存をした(別名保存されますので もとのoutput.csvは上書きされません。)後、 ForSort.exeが呼び出されますので、  Goボタンを押して処理を完成させます。  outTuned.csvが出力されます。  これを表計算ソフトに読みこませれば編集 作業ができるのですが、windows内部の論理 によって作られているのでコードがANSI になっています。  表計算ソフトで読み込ませる場合は、 「ANSI形式で読み込む」  項目の選択をしてください。  ソフトによって選択の場所は異なります。  とりいそぎ、一晩で。  Miyama.  ※もとのデータが乱れているとき、セルの データがむしれることがあります。  最終的にはもとのoutput.csvなどと突き合 わせることをお願いいたします。  使用は自己責任でお願いします。 ====================  ファイルの終わり ====================