どなたか簡単なマクロを作って下さいませNo.00720
ユーじじい さん 99/08/24 19:40
 
みなさん、こんにちは

太田と申します。
私は、秀丸様の大ファンなのですが、残念ながらマクロについては、からっきし駄目
で、思ったようなマクロを作ることができません。(>_<)

もしもどなたか、私の希望するマクロを作っていただけるなら(たぶんとても簡単な
マクロのはず)、寸志(5000円相当の図書券)(^_^;) をお送りしたいと思いますが、
どなたかつくっていただけないでしょうか?

欲しいマクロの概要は以下のようなものです。
名称:テキスト分割マクロ
機能:
秀丸様で読み込んだテキストデーターを、私が置いた◎の位置(いつも章の冒頭)で、
分割して上から順番に連番形式でファイル名 file0001.txt 、file0002.txt、file0
003.txt・・・として自動的に保存するもの。できたら保存するディレクトリも初め
に指定できればもっとよいですが。(^o^)

口で説明すると難しいので下に見本を示します。
---------------------------------------------------------------------------
オリジナルのテキストデーター( 私が分けたい所で◎を置きました。)
◎なぜか蚊に好かれてしまうタイプの人がいる。恥ずかしながら筆者もその一人だ。
家族と一緒に出かければ、ほぼ必ず自分だけが標的になる。とてもくやしい。「非常
によく蚊に刺される人、逆にほとんど刺されない人』それぞれ全体の一割程度いると
いうアメリカの実験報告があります」国立感染症研究所昆虫医科学部くりはらたけし
の客員研究員、栗原毅さんはいう。
◎なぜそんな差が生まれるのか。これは蚊が人や動物などの吸血源を探し出すメカニ
ズムと深く関わっている。蚊はまず、動物が出す二酸化炭素に反応する。蚊の口元に
並んだ炭酸ガスセンサーが、ガスをキャッチすると濃度の濃い方めがけて行動を開始
する。獲物に近づくとにお今度は触角にある温度、湿度、匂いを感じるセンサーを働
かせ、忍び寄ってくる。汗かきは蚊の大好物要するに吐く息や皮膚呼吸に含まれる炭
酸ガスの量が多く、・・・・・0型が刺されやすいという論文が多いが、B型説や差は
ないという結果もあるという。
◎蚊六匹をケージにいれ、うち三匹が血を吸い出すまでの時間を百二十五人について
調べた一九六〇年代の実験がある。大部分の人が二十五秒以下で血を吸われたが、七
人は百秒以上かかった。さらに百秒以上かかった人と二十五秒以下だった人を選んで
比較したところ、十分問で前者は平均五匹、後者は二十二・四匹の蚊に刺されたとい
う。この実験では刺されにくい人たちは汗をかかない体質だったと報告されている。
----------------------------------------------------------------------------

ここでテキスト分割マクロを実行すると、自動的に

( file0001.txtという名前で以下のテキストデーターが保存されます。)
----------------------------------------------------------------------------
◎なぜか蚊に好かれてしまうタイプの人がいる。恥ずかしながら筆者もその一人だ。
家族と一緒に出かければ、ほぼ必ず自分だけが標的になる。とてもくやしい。「非常
によく蚊に刺される人、逆にほとんど刺されない人』それぞれ全体の一割程度いると
いうアメリカの実験報告があります」国立感染症研究所昆虫医科学部くりはらたけし
の客員研究員、栗原毅さんはいう。
----------------------------------------------------------------------------

( file0002.txtという名前で以下のテキストデーターが保存されます。)
----------------------------------------------------------------------------
◎なぜそんな差が生まれるのか。これは蚊が人や動物などの吸血源を探し出すメカニ
ズムと深く関わっている。蚊はまず、動物が出す二酸化炭素に反応する。蚊の口元に
並んだ炭酸ガスセンサーが、ガスをキャッチすると濃度の濃い方めがけて行動を開始
する。獲物に近づくとにお今度は触角にある温度、湿度、匂いを感じるセンサーを働
かせ、忍び寄ってくる。汗かきは蚊の大好物要するに吐く息や皮膚呼吸に含まれる炭
酸ガスの量が多く、・・・・・0型が刺されやすいという論文が多いが、B型説や差は
ないという結果もあるという。
----------------------------------------------------------------------------

( file0003.txtという名前で以下のテキストデーターが保存されます。)
----------------------------------------------------------------------------
◎蚊六匹をケージにいれ、うち三匹が血を吸い出すまでの時間を百二十五人について
調べた一九六〇年代の実験がある。大部分の人が二十五秒以下で血を吸われたが、七
人は百秒以上かかった。さらに百秒以上かかった人と二十五秒以下だった人を選んで
比較したところ、十分問で前者は平均五匹、後者は二十二・四匹の蚊に刺されたとい
う。この実験では刺されにくい人たちは汗をかかない体質だったと報告されている。
----------------------------------------------------------------------------

(以上◎の数だけファイルが既存のディレクトリにfile0001.txtから連番でfilexxxx.
txtまで作られます。)

以上です。ご面倒とは存じますが、なにとぞご教授下さい。(*^_^*)

----------------------------------------
石川県河北郡津幡町太田は112-3
太田 豊
E-mailアドレス: xxxxxxxx@po.sphere.ne.jp
----------------------------------------

[ ]
RE:00720 どなたか簡単なマクロを作って下No.00722
杉浦 まさき さん 99/08/25 00:53
 
太田さん、はじめまして。
杉浦 まさき と申します。

以下のような感じのマクロでとりあえず使用に耐えると思います。
一度試してみて下さい。

#勝手ながら、もしこれでご期待通りの物だったとしても
 お礼の方は辞退させて頂きますm(_ _)m。

//----------------------------------------------------------
Input_Folder:
// 保存するフォルダ名の入力
$save_dir = input("データを保存するフォルダを指定して下さい。",directory);
if (!result) endmacro; // [キャンセル]

// (もしあれば)フォルダ名末尾の \ を除去
if (rightstr($save_dir,1) == "\\")
    $save_dir = midstr($save_dir,0,strlen($save_dir)-1);

// フォルダが存在するかどうかのチェック
// ※Win95/98 だと正常に動作しないかも??
if (!existfile($save_dir+"\\nul")) {
    question "指定されたフォルダが見つかりません。入力をやり直しますか?";
    if (!result) endmacro;
    goto Input_Folder;
}

// 検索バッファ・オプションの待避&データヘッダの検索を指定
$s_buf = searchbuffer;
#s_opt = searchoption;
setsearch "^◎", 16;

// 元データファイルのウィンドウハンドルを保存
#hwnd_org = hidemaruhandle(0);

// ファイル先頭へ移動&データが先頭から始まっているかどうかチェック
gofiletop;
if (char(code) != "◎") {
    // データの先頭へ移動
    finddown;
    if (!result) {
        message "このファイルにはデータがありません。";
        goto End;
    }
}

// メインループ:データを切り出して適切なファイルヘ保存
#next = 1; // 続行するかどうかのフラグ
#num = 1;  // 現在のファイル数
while (#next && #num <= 9999) {
    beginsel; // (データ先頭から)範囲指定開始
    finddown; // 次のデータの先頭=今のデータの末尾へ移動
    if (!result) {
        gofileend; // 次のデータがない場合ファイル末尾へ移動
        #next = 0; // もうデータはない
    }
    copy; // データをコピー
    escape; // 念のため範囲指定を解除
    // ファイル名を作成
    $save_file = "file" + rightstr("0000"+str(#num),4) + ".txt";
    // 新規ファイルをオープン
    newfile;
    // 作業状況を見えなくするには newfile の代わりにこちらを使用
//  openfile "/h \"" + $save_dir + "\\" + $save_file + "\"";
    // 新規ファイルのウィンドウハンドルを取得
    #hwnd_data = hidemaruhandle(0);
    // コピーしたデータの貼り付け
    paste;
    // 名前をつけて保存
    saveas $save_dir + "\\" + $save_file;
    // 上記で openfile .. を使用したらこちらに変える。
//  save;
    // 元データファイルに移動
    setactivehidemaru #hwnd_org;
    // 保存したファイルを閉じる
    closehidemaruforced #hwnd_data;
    // カウンタのインクリメント
    #num = #num + 1;
}

End:
// 待避しておいた検索バッファ・オプションを復活
setsearch $s_buf, #s_opt;
// おしまい
endmacro;
//----------------------------------------------------------

[ ]
RE:00722 杉浦まさき様、早速のお返事大変No.00724
ユーじじい さん 99/08/25 06:55
 
>太田さん、はじめまして。
>杉浦 まさき と申します。
>
>以下のような感じのマクロでとりあえず使用に耐えると思います。
>一度試してみて下さい。
>
>#勝手ながら、もしこれでご期待通りの物だったとしても
> お礼の方は辞退させて頂きますm(_ _)m。
>

杉浦まさき様、早速のお返事大変感謝しております。私のようなもののために、こん
なに迅速にすばらしいプログラムを書いて下さり本当に嬉しく思います。まだ杉浦様
の作られたマクロを試してはおりませんが、今日、日中試して試用リポートを報告し
たいと思います。なお、お礼の方、辞退といってくださっておられますが、それでは
私の気がすまないので是非、私のアドレスにご住所を私信でお送り下さい。本当に感
謝しているんですから。
なお、参考までにこのマクロを何のために使うかと申しますと、ジャストシステムか
ら販売されているインターネットブーメランで自分のためた文書(自分の書いた文章
や、雑誌の記事、新聞記事など)をデーターベース化するために使用します。(長文
は管理しにくいので・・・)

本当にありがとうございました。まずはご連絡まで。

[ ]
RE:00722 早速使ってみました。すばらしいNo.00725
ユーじじい さん 99/08/25 08:00
 
杉浦まさき様、早速マクロを使ってみました。私が、何日も何日も考えても結局作る
ことができなかったマクロを、いとも簡単に作っていただいて、本当に感謝しており
ます。使用感は、私が思っていたとおりに、サクサクと軽快に動きます。バグもあり
ません。大満足!!本当にありがとうございました。どうぞご住所お教え下さい。
太田 豊 拝
xxxxxxxx@po.sphere.ne.jp

[ ]
RE:00725 早速使ってみました。すばらしいNo.00726
杉浦 まさき さん 99/08/26 00:54
 
太田さん、こんばんは。
杉浦 まさき です。

丁寧なお返事を頂きどうもですm(_ _)m。
で、お礼についてですが、

>使用感は、私が思っていたとおりに、サクサクと軽快に動きます。
>バグもありません。大満足!!本当にありがとうございました。

この言葉だけで僕には十分過ぎます。<うわ!キザやなぁ〜(^^;

…まぁそれは置いといて(^^;、
こういった会議室上でのマクロの作成については一切の金品を受け取らない、
というのが僕のポリシー(というかワガママ(^^;)なんです。
どうかご理解下さいm(_ _)m。

あと、こういう質問&回答は
僕のWebページの「マクロど〜じょ〜」のネタとして
きっちりフィードバックさせてもらう予定ですので(^^;、
まぁ「ギブ&テイク」だと思って安心して下さい。
#URL: http://www.ceres.dti.ne.jp/~sugiura/


[ ]