※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

連続したファイルを複数作成する案件がありました。

userID 001 ~ 200 まで ファイル名 user1txt~user200.txt まで合計200個

         ~ a.txtの内容 ~
ファイルの中身 userid=userXXX ←1~200
          ~ b.txtの内容 ~

秀丸マクロで作成

事前準備

a.txtとb.txtを準備する。

連続するユーザーIDを作成

// 1~任意の番号を1行ごとに作成
#num = 1;
while (#num <=200) {
        insert "userid=user" + str(#num) + ".txt" + "\n";
                #num = #num + 1;
 }
 #HWND = hidemaruhandle(0); // 元ウィンドウのウィンドウハンドルを取得 

 //ファイル番号用の定義作成
 #name = 0;

 //作成したリストから1行づつコピーする。
 gofiletop;
 while (code != eof) {
     copyline;

 //ファイルの準備
        openfile "a.txt";
                #HWND_WORK0 = hidemaruhandle(0); // a.txt 作業ウィンドウのウィンドウハンドルを取得
                gofileend;
                paste;//1行コピーしたユーザIDを貼り付ける。
                  //この時点でa.txtの中身は「a.txt + useridxxx 」となる。
        openfile "b.txt";
                #HWND_WORK1 = hidemaruhandle(0); // b.txt 作業ウィンドウのウィンドウハンドルを取得
                selectall;//b.txtの内容を全部選択
                copy;//b.txtの内容を全てコピー
                setactivehidemaru 1; // a.txtに移動
                closehidemaruforced #HWND_WORK1; // b.txtの作業ウィンドウを(強制的に)閉じる
                paste;//a.txtにb.txtの内容を貼付
                //この時点でa.txtの中身は「a.txt + useridxxx + b.txt」となる。
                #name = #name + 1;//ファイル番号用のカウンターアップ
                saveas "user" + str(#name) + ".txt";//名前をつけて保存
                setactivehidemaru 1; // 上でつくったウィンドウに移動
                closehidemaruforced #HWND_WORK0; // 作業ウィンドウを(強制的に)閉じる
     movetolineno 1, lineno + 1;
    if (result == false) break;
}