取得した文字列を別のファイルにコピーNo.05125
じゅげむ さん 06/04/08 20:01
 
 いつもお世話になっています。

 とても初歩的なことだと思うのですが、教えていただけないでしょう
か。

 テキスト中で選択した文字列を、別のファイルの最終行にコピーする
という作業をしたいと思っています。
 
 具体的には、次のような使い方を考えています。
 現在、とっさのメモをとるためのファイルをひとつ作り、電話があっ
たときなどには、まずそこに書き込むようにしています。
 これだけで、十分便利なのですが、いわゆるToDoリストとなるフ
ァイルだけは別にあった方が便利です。

 そこで、とっさのメモとして書き込んだファイルから、「やるべきこ
と」に関する部分を範囲選択し、右クリックして、「ToDoリストに
送る」を選択すると、選択した部分が、ToDoリストとなる特定のフ
ァイルの末尾に追加されるということができると、いちいちToDoリ
ストを開かずしてToDoリストを作れるので、とても便利かと思って
います。

 このようなことを実現したいので、もし手間でなければ、どなたか教
えていただけないでしょうか。

じゅげむ
 


[ ]
RE:05125 取得した文字列を別のファイルにNo.05126
山紫水明 さん 06/04/08 22:23
 
 じゅげむさん,こんばんは。

> そこで、とっさのメモとして書き込んだファイルから、「やるべきこ
>と」に関する部分を範囲選択し、右クリックして、「ToDoリストに
>送る」を選択すると、選択した部分が、ToDoリストとなる特定のフ
>ァイルの末尾に追加されるということができると、いちいちToDoリ
>ストを開かずしてToDoリストを作れるので、とても便利かと思って
>います。

 次のようなマクロでどうでしょう。
1行目でToDoリストのパス名を指定してください。
右クリックに割り当てたければ,「メニュー編集」→「ユーザーメニュー編集」で
「選択中右ボタン」を編集してこのマクロを割り当てればいいでしょう。

//----------------------------------------------//
$todo = "d:\\doc\\Todolist.txt";//リストファイル名
#handle1 = hidemaruhandle(0);
//範囲選択していなければ1行をコピー
if( !selecting ) {
    selectline;
    #line = 1;
}
copy;
openfile "/h " + $todo;
#handle2 = hidemaruhandle(0);
gofileend;
paste;
if( !#line ) insert "\n";
save;
setactivehidemaru #handle1;
closehidemaru #handle2;
endmacro;
//----------------------------------------------//


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

[ ]
RE:05126 取得した文字列を別のファイルにNo.05127
じゅげむ さん 06/04/09 12:54
 
山紫水明さん

ありがとうございます。
ToDoファイルの末尾に改行を入れてからペーストするようにしたら、ま
さに、私がやりたかったことができました。hidemaruhandleの使い方が
よくわかりました。

そうすると、さらに欲がでてしまいました。
とっさのメモをとるファイルの他に、扱う案件ごとにテキストファイル
を作り、これらのファイルを同じフォルダ内に置いています。
普段は、とっさのメモとしてとったデータから必要な部分をコピーし、
各案件のファイルを開いた上でその末尾にペーストしているのですが、
これを、山紫水明に作っていただいたマクロと同じような操作ですることは可能でし
ょうか。
つまり、データを範囲選択した上で、マクロを実行すると、案件ごとの
ファイルを置いたフォルダが開き、そこからファイルを選ぶと、自動的
にデータが当該ファイルの末尾にペーストされるというような操作で
す。

もし簡単であり、ご迷惑でなければ、教えていただければ幸いです。

じゅげむ

[ ]
RE:05127 取得した文字列を別のファイルにNo.05128
山紫水明 さん 06/04/09 17:38
 
 じゅげむさん,こんにちは。

>つまり、データを範囲選択した上で、マクロを実行すると、案件ごとの
>ファイルを置いたフォルダが開き、そこからファイルを選ぶと、自動的
>にデータが当該ファイルの末尾にペーストされるというような操作で
>す。

 1行目をリストファイルファイルのあるフォルダ名を使って,たとえば
$todo = "d:\\doc\\Todo\\*.*";
のように変えてみてください。

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

[ ]
RE:05128 取得した文字列を別のファイルにNo.05129
じゅげむ さん 06/04/09 18:36
 
山紫水明さん

ありがとうございました。
こんなに簡単なことだったとは。。
もう秀丸が手放せません。
また、いろいろお世話になることがあるかと思いますが、よろしくお願
い致します。

じゅげむ

[ ]