統合メインルーチンマクロの作成No.00008
sumi さん 07/01/03 09:49
 
山紫水明様
>「現在のファイル」,「フォルダ内全部」など置換対象はどうでしょうか?
置換対象ファイルは、必ず1ファイルです。ファイルの大きさは、通常、英文ファイ
ルの場合、1,000行から5,000行です。日本語ファイルの場合、最大3,00
0行程度です。
よろしくお願い致します。

[ ]
RE:00008 統合メインルーチンマクロの作成No.00010
山紫水明 さん 07/01/03 12:59
 
 sumiさん,

>置換対象ファイルは、必ず1ファイルです。ファイルの大きさは、通常、英文
>ファイルの場合、1,000行から5,000行です。日本語ファイルの場合、
>最大3,000行程度です。

 Buckeye さんがコメントされているように,このような大きな連続置換はマク
ロよりも別のアプリで行う方が現実的だと思います。
 拙作マクロは,実行中にハングアップするのはまずいので,大きなリストでも
最後までやれるようにしてみました。
 それから,途中で中断を入れて,この間CPU使用率を下げる方法を思いつき
ましたので,そのオプションもつけてみました。200組処理する毎にポーズを入
れます。マクロ冒頭のオプションで秒単位で指定できます。
http://homepage2.nifty.com/12sun/sansui.html
 リストを結合するのは以下のマクロでできると思います。目的のファイルをす
べて開いた状態で実行します。

//------ MakeJointFile.mac ----------------------------//

//  開いているファイルをすべて結合するマクロ

$jointfile = "JointList.txt";
setclipboard "";
#hc = hidemarucount;
while( #i < #hc ) {
    addclipboard "//<" + basename2 + ">\n";
    disabledraw;
    gofileend;
    if( column ) insert "\n";
    selectall;
    appendcopy;
    nexthidemaru;
    #i = #i + 1;
    $list = $list + str(#i) + ". " + basename2 + "\n";
}
newfile;
paste;
saveas $jointfile;
while( #i ) {
    closehidemaruforced 1;
    #i = #i - 1;
}
message str(#hc) + " 個のファイルを結合しました。\n\n" + $list;
endmacro;
//----------------------------------//

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:00010 統合メインルーチンマクロの作成No.00011
sumi さん 07/01/03 18:31
 
山紫水明様
Sumiです。いつも迅速にご対応頂き感謝申し上げます。早速、実際の作業で試行させ
て頂きます。誠にありがとうございました。

[ ]
RE:00010 統合メインルーチンマクロの作成No.00015
sumi さん 07/01/12 22:51
 
山紫水明様
Sumiです。
「統合メインルーチンマクロ作成」の件について、
@「置換リスト結合マクロ」とA「変換リストによる連続置換マクロv2.22」を
用いた実際の作業結果についてご連絡致します。
 @「置換リスト結合マクロ」:問題無く機能します。
 A「変換リストによる連続置換マクロv2.22」:結果OKです。
   (実験概要)CPUの温度プロファイルを観察しながら、休止期間と読込み行
数をパラメータにして、幾つかの組合せでシミュレーションを実施。
   (実験結果)休止期間=30秒の場合、読込み行数=1000行でも問題なく
機能します。
   (考察)処理のスループットを考慮すると、実用的には、この条件で当面処理
したいと考えます。
尚、上記の通り連続処理の目途が立ちましたので、最終的に統合メインルーチンマク
ロを作成して一環処理を実行したいと思っていますが、「通常マクロファイル実行
部」の後に続く「置換リスト連続置換実行部」(=「変換リストによる連続置換マク
ロv2.22」)の設定値をマクロ本文に書き込む際、注意点等ありましたら、アド
バイスの程、お願い致します。

この度は、誠にありがとうございました。

[ ]
RE:00015 統合メインルーチンマクロの作成No.00016
山紫水明 さん 07/01/15 19:47
 
 sumiさん,

>   (実験概要)CPUの温度プロファイルを観察しながら、休止期間と読
>込み行数をパラメータにして、幾つかの組合せでシミュレーションを実施。
>   (実験結果)休止期間=30秒の場合、読込み行数=1000行でも問
>題なく機能します。

 多分いろいろ試みられてお気づきのことと思いますが,1回の読み込み行数は
むしろある程度小さくして,小分けした方が結果的には早くなるようです。配列
変数に一挙にたくさん読み込むと動作が重くなると考えられます。

>「通常マクロファイル実行部」の後に続く「置換リスト連続置換実行部」(=
>「変換リストによる連続置換マクロv2.22」)の設定値をマクロ本文に書
>き込む際、注意点等ありましたら、アドバイスの程、お願い致します。

 設定値をマクロに書き込んで,ダイアログを出さないで処理したいということ
でしょうか。それもできますが,もう一つの方法は,
名前を変えた別のマクロにする。たとえば,LisrReplaceB.mac
ini ファイル名を変更 例えば 19行目ほどの
$inifile = hidemarudir + "\\MyMacro.ini";

$inifile = hidemarudir + "\\MyMacroB.ini";
 (この名前は何でもいいです。sumi.ini でも)
これで1回実行すると,設定値が記録されます。その後,マクロの41行目ほどの
call DengakuDialog;
をコメントアウトすれば,ダイアログが出ないようになるでしょう。

 なお,このマクロのスピードアップを図るために,置換専用ソフト Speeeeed
との連携をはかってみました。よろしければこちらもお試しください。
http://homepage2.nifty.com/12sun/sansui.html

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]