|
hiroです。
>
>編集すると変化しますが、この値を信用してはいけません。
>#と、以前番頭++さんに教えてもらった。(^^ )>>
>では。
安久津さんありがとうございます。最初は無関係の話題かと理解が出来なかったので
すが、ようやく問題点が見えてきました。しかし、私の目的のより場合、山紫水明さ
んから頂いたサンプルは今のところ完璧で、値が不安定になるようなこともなさそう
です。実行したファイルは1200行あまりですが、すべてのステップを5秒ぐらい
で完了します。(233MhのCPU)
次のソースです。
----------------------------------------------------------------
disabledraw;
//不用文字検出削除
gofileend;
replaceup "\"シークレット\",\"カテゴリ\",\"開始日\",\"終了日\",\"内容\",\"コストコード\",\
"顧客コード\",\"保留\"", "", regular;
while (result) findup;
gofileend;
replaceup ":00.000000000\",\"2002-..-.. ..:..:00.000000000\",\"", "", regular;
while (result) findup;
gofileend;
replaceup "\",\"\",\"\",0", "", regular;
while (result) findup;
gofileend;
replaceup "0,\"\",\"", "", regular;
while (result) findup;
//日付時刻部分を除き、改行。
gofiletop;
while( 1 ){
searchdown "2002-..-.. ..:..", regular;
if( !result) break;
if("2002-..-.. ..:.." == "2002-..-.. ..:.."){
golinetop;
right 16;
insertreturn;
insert " ";
}
}
//時刻を()で囲む
gofiletop;
//時間()整形
#t = 0;
while(1){
searchdown "2002-..-.. ..:..", regular;
if( !result) break;
if("2002-..-.. ..:.." == "2002-..-.. ..:.."){
golinetop;
right 11;
insert " (";
right 5;
insert ")";
down;
insert " ";
#t = #t + 1;
}
}
//--------------------------------------------------------//
//gofileend;
//while( 1 ) {
// searchup "2002-..-..", regular;
// if( !result ) break;
// $q[#w] = gettext( seltopx, seltopy, selendx, selendy );
// escape;//必要であれば
// #w = #w + 1;
//}
//menuarray $q, #w;//確認のため
//--------------------------------------------------------//
//#w = 0;
//gofiletop;
//while( #w >= 0 ){
//insert $q[#w];
//insert "\n";
//#w = #w - 1;
//
//}
gofiletop;
deleteline;
//検索での表示を範囲選択にして実行
gofiletop;
disabledraw;
$stoik = gettext(seltopx,seltopy,selendx+5,selendy);//一回目取り込み
while(1){
searchdown "2002-..-..", regular;
if( !result) break;
$wo = gettext(seltopx,seltopy,selendx+5,selendy); //二回目取り込み
if($stoik == $wo) continue;
else{
escape;
insert "\n\n";
insert "--------------------------------------------------------------------
-----------\n";
$stoik = $wo;
}
}
gofiletop;
message "結果" + str(#t) + "レコードありました。\n(終わり)";
endmacro;
//----------------------------------------------------------------
enabledraw;
endmacro;
----------------------------------------------------------------
山紫水明さんの画竜点睛によって、日の目を見て実行できるようになったのですが、
まだまだ無駄な部分があるかもしれません。
これは今月の初め頃の投稿でも紹介してあるのですが、Lotus社のオーガナイ
ザー 97から「他形式で保存(メニューのなか)」ではき出したものを見やすく整形
するものです。まだまだ手を加える余地はあると思いますが、どなたか関心のある方
がいれば、手直しして完成させてください。オーガナイザー の最新版は2001で、
それも3,450円で売っているのですが、諸事情により私は買っておらず、使った
こともないのです。Lotus社の公表によれば全国に700万人のユーザーがいる
らしいので、うまく出来上がれば人様の役にも立つのではと思います。私はそんな自
信も実力もないので、どなたかやってくだされば、と思います。改行位置など環境に
よっては、少し値を変更してやる必要も出るかと思いますが、練れば変数として臨機
応変に対処できると思われます。このマクロでも、1250行が5秒とかからぬうち
に整形されます(ちなみに、1500行ぐらいになります)。以前、手作業でやって
いたときは、大変な時間がかかり、この規模では半日ほどかかるかもしれません。
私は、ロータスの関係者でも宣伝屋でもないのですが、タダでパソコンについていた
ソフトで、このオーガナイザー 97には、長い間世話になりました。秀丸エディタも
愛用させていただいております。
とにかく幅広いかたちで、人の役に立ってくれればありがたいので、参考までに掲載
致します。
|
|