ドラッグした範囲に連番を付けて次々と保No.04139
六甲のおいしい水 さん 04/02/22 23:58
 
初めまして。

題名のようなマクロを探しているのですが、ありますか?

もっとわかりやすく説明しますと、たとえば、サイトから「民法」全文をダウンロー
ドしてきてMinpo.txtとして保存したとします。その中には第1条以降全ての条文が
含まれるわけですが、これを条文毎にMin-001.txt、Min-002.txtという具合に保存し
たいのです。

で、マクロを実行させて、ドラッグ→保存、ドラッグ→保存という具合にできればい
いな、と思っている次第ですが。

上記の例でいうと、Min-nnnの部分もあれこれカスタマイズできるともっとうれしい
です。

[ ]
RE:04139 ドラッグした範囲に連番を付けてNo.04140
ENCODINGSHIFTJIS さん 04/02/23 09:26
 
分割せずに
インデックスを作り、飛ぶ。という方式もあります。

インデックスを作る方法
tags ファイル(秀丸ヘルプなど参照)

tagsを使ったジャンプの仕組みを考える
例 ダイレクトタグジャンプ

[ ]
RE:04140 ドラッグした範囲に連番を付けてNo.04141
ENCODINGSHIFTJIS さん 04/02/23 09:29
 
秀丸β版は現在 アウトラインの表示もできます。

[ ]
RE:04141 ドラッグした範囲に連番を付けてNo.04142
ENCODINGSHIFTJIS さん 04/02/23 10:13
 
 プログラムソースでは、全文をHTML化してリンクを張ったりもします。
htmlにする場合、関数などが検索可能で、リンクにして表示してくれます。
http://www.tera.ics.keio.ac.jp/person/koki/server/global.html
GNU GLOBAL source code tag system
http://www.gnu.org/software/global/global.html
(See UNIX kernel source tour!.)
http://www.tamacom.com/tour/kernel/linux/

あと、全文検索系のソフトとの連携も考えましょう。
Mocrosoft Indexing Service
“インデックス サービス”を利用して文書ファイルを検索できる「サトリ」
窓の杜 - KWIC Finder (スコア: 30)
など。どのソフトも自然言語を扱うので、
網羅性の保証をしません。

[ ]
RE:04142 ドラッグした範囲に連番を付けてNo.04143
ENCODINGSHIFTJIS さん 04/02/23 10:50
 
テキストファイルワークス
http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005604.html
大きな特徴といえるのが、検索ファイルの分割・結合を行える点。検索結果のヘッダ
部分でコンテキスト(右クリック)メニューの「ファイルの分割」を選択すると、検
索文字列を含む列を区切りとしたファイルの分割ができる。ファイル名は、「○○1.
txt」「○○2.txt」のように、元ファイル名の末尾に連番が付加される。分割方法は
3通りあり、検索文字列が分割後のファイルの(1)文頭に位置するような分割、
(2)文末に位置するように分割、(3)分割された両方のファイルに重複して位置す
るような分割から選択できる。

[ ]
RE:04139 ドラッグした範囲に連番を付けてNo.04152
山紫水明 さん 04/02/25 00:22
 
 六甲のおいしい水さん,こんばんは。

》で、マクロを実行させて、ドラッグ→保存、ドラッグ→保存という具合にでき
》ればいいな、と思っている次第ですが。

 次のマクロで試してください。
 タイトルバーに指示が表れます。

//-------- DivideSave.mac ----------------------------------------------//

//  選択範囲を連続保存

#confirm = 1;   //1:ファイル名を毎回確認する,0:しない
if( !selecting ) {
    message "範囲選択して下さい";
    endmacro;
}
Begin:
$zero = "0000000";
#handle1 = hidemaruhandle(0);
$inifile = hidemarudir + "\\MyMacro.ini";
$base = getinistr($inifile, "SerialSave", "base");
#number = getininum($inifile, "SerialSave", "number");
#figure = getininum($inifile, "SerialSave", "figure");
if( "base" == "" || #number == 0 ) call NewFile;
MakeName:
$number = rightstr( $zero + str(#number + 1), #figure );
if( #confirm ) {
    $name = input("ファイル名(新規の場合はスペース)",
                    $base + $number + ".txt");
    if( !result ) endmacro;
    if( $name == " " || $name == " " ) {
        call NewFile;
        goto MakeName;
    }
} else $name = $base + $number + ".txt";
copy;
openfile "/h";
#handle2 = hidemaruhandle(0);
paste;
saveas $name;
#handle2 = hidemaruhandle(0);
setactivehidemaru #handle1;
closehidemaru #handle2;
writeininum $inifile, "SerialSave", "number", val($number);
inputpos "次の範囲を選択してリターンキーを押して下さい。中止は [Esc]";
if( iskeydown( 0x0d ) ) goto Begin;
else {
    menu "&E 完  了",
         "&C 後で継続";
    if( result == 1 ) {
        writeinistr $inifile, "SerialSave", "base", "";
        writeininum $inifile, "SerialSave", "number", 0;
    }
}
endmacro;

NewFile:
$base = input("新規ファイルの基本名を指定して下さい");
if( $base == "" ) endmacro;
#figure = val(input("付加番号の桁数を指定して下さい"));
if( #figure == 0 ) endmacro;
writeinistr $inifile, "SerialSave", "base", $base;
writeininum $inifile, "SerialSave", "number", 0;
writeininum $inifile, "SerialSave", "figure", #figure;
#number = 0;
return;
//----------------------------------------------------------------

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

[ ]
RE:04139 ドラッグした範囲に連番を付けてNo.04153
六甲のおいしい水 さん 04/02/25 21:41
 
コメントをいただいた方々、どうもありがとうございました。また、出張が入りまし
て、お礼が遅れましたことをお許し下さい。

今回の作業はどうしても元ファイルを分割する必要があり、インデクスやリンクでは
対応できないものでしたので、山紫水明さんのお知恵をお借りしたいと思います。

まだ実際に試してはいませんが、結果につきましてはまた報告いたします。

どうもお世話になりました。

[ ]
RE:04139 ドラッグした範囲に連番を付けてNo.04173
六甲のおいしい水 さん 04/03/06 20:34
 
ご報告が遅れまして、すみませんでした。

山紫水明さんのマクロ、完璧でした。本当に助かりました。
ありがとうございました。

[ ]