メールヘッダ部の文字列をマクロで置き換えるNo.03075
rako さん 01/09/14 12:26
 
rakoです。

メールヘッダ部の文字列ををマクロで置き換えられません。手動ではできるの
ですが、そういうものものなのでしょうか?

どなたか、ご存じの方よろしくお願いします。

[ ]
RE:03075 メールヘッダ部の文字列をマクロで置き換えるNo.03076
ひろ さん 01/09/14 12:56
 
 rako さん今日は、ひろです。
> メールヘッダ部の文字列ををマクロで置き換えられません。手動ではできるの
> ですが、そういうものものなのでしょうか?
 出来ますよ。ヘッダ部は、本文とカーソルの動きが違うので、若干注意が
必要ですが、基本的には何も変わりません。

 やりたいことが具体的に解れば、助言が与えやすいです。

[ ]
RE:03076 メールヘッダ部の文字列をマクロで置き換えるNo.03077
rako さん 01/09/14 14:08
 
 ひろさん今日は。rakoです。
 
> やりたいことが具体的に解れば、助言が与えやすいです。

replaceall "aaa","bbb";
これに適当に名前を付けて実行すると、メールの本文にあるaaaは置換されますが、
メールヘッダのsubjectにあるaaaはそうなりません。

よろしくお願いします。

[ ]
RE:03077 メールヘッダ部の文字列をマクロで置き換えるNo.03078
takuara さん 01/09/14 15:51
 
>
>replaceall "aaa","bbb";
>これに適当に名前を付けて実行すると、メールの本文にあるaaaは置換されますが、
>メールヘッダのsubjectにあるaaaはそうなりません。
>

置換文の前に、「moveto 0, -9999;」
を実行してみたら、幸せになれるはず。

詳細は、鶴亀のヘルプ−「マクロ関係」−「鶴亀メール内でのマクロ実行」
−「鶴亀メール内秀丸と普通の秀丸とのマクロ動作の違い」を参照のこと

[ ]
RE:03078 メールヘッダ部の文字列をマクロで置き換えるNo.03079
秀まるお2 さん 01/09/14 16:09
 
> 置換文の前に、「moveto 0, -9999;」
> を実行してみたら、幸せになれるはず。

 replaccedownならそれでいいですが、replaceall文は実行直前に
「moveto 0, 0;」に相当することを実行してしまうのでダメです。

 多少遅くてもいいなら、

    moveto 0, -9999;
Loop:
    replacedown "aaa", "bbb";
    if( result ) goto Loop;

 みたいな感じで置換する作戦になると思います。

[ ]
RE:03077 メールヘッダ部の文字列をマクロで置き換えるNo.03080
ひろ さん 01/09/14 16:11
 
 rako さん今日は、ひろです。
> replaceall "aaa","bbb";
 これは気がつきませんでした。replaceup/replacedown は、ヘッダである
かどうかで動作に殆ど違いはありませんが、replaceall(fast) は置換され
ませんね。これについては不具合かどうかは、秀まるおさんに伺うしかない
ですね。また、もし仕様であれば、鶴亀のヘルプに一言欲しいですね。

 さて取り敢えず、次のマクロで変換自体はできます。
//-------------------------------------------------------------------
moveto 0,-9999;
#reg_search = searchmode;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "SelectFound",1;
envchanged;
searchdown "aaa";
while(result){
  insert "bbb";
  finddown;
}
if( !#reg_search ){
  openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
  writeregnum "SelectFound",#reg_search;
  envchanged;
  closereg;
}

[ ]
RE:03079 メールヘッダ部の文字列をマクロで置き換えるNo.03081
takuara さん 01/09/14 16:24
 

>> 置換文の前に、「moveto 0, -9999;」
>> を実行してみたら、幸せになれるはず。
>
> replaccedownならそれでいいですが、replaceall文は実行直前に
>「moveto 0, 0;」に相当することを実行してしまうのでダメです。
>

あちゃ〜、嘘かいちゃったみたいですね。
#ちゃんと試せばよかった…

[ ]
RE:03080 メールヘッダ部の文字列をマクロで置き換えるNo.03082
ひろ さん 01/09/14 16:28
 
 rako さん今日は、ひろです。自己レスです。
>  さて取り敢えず、次のマクロで変換自体はできます。
 次のマクロの方が早いです。
//-------------------------------------------------------------------
moveto 0,-9999;
replacedown "aaa","bbb";
while(result)finddown;

[ ]
RE:03079 メールヘッダ部の文字列をマクロNo.03083
山紫水明 さん 01/09/14 16:34
 
 rako さん,ひろさん,秀まるおさん,こんにちは。

selectall;
replaceall "aaa","bbb", inselect;

 これでもいけるようですよ。

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

[ ]
RE:03078 メールヘッダ部の文字列をマクロで置き換えるNo.03084
rako さん 01/09/14 16:44
 
takuaraさん、こんにちは。

>置換文の前に、「moveto 0, -9999;」
>を実行してみたら、幸せになれるはず。

すみません。なれませんでした。

[ ]
RE:03075 メールヘッダ部の文字列をマクロで置き換えるNo.03085
rako さん 01/09/14 16:51
 
ひろさん、takuarさん、秀まるお2さん、山紫水明さん、
ありがとうございました。

[ ]
RE:03080 メールヘッダ部の文字列をマクロで置き換えるNo.03086
秀まるお2 さん 01/09/14 16:53
 
> ませんね。これについては不具合かどうかは、秀まるおさんに伺うしかない
> ですね。また、もし仕様であれば、鶴亀のヘルプに一言欲しいですね。

 replaceallは「ファイルの先頭に移動してから置換を開始」となっているの
で、鶴亀メールの場合はメール本文の先頭に移動してから置換開始してしまい
ます。ということで、仕様です。

 一応、ヘルプにこの辺の「ファイルの先頭へ移動する系のものはすべて本文
の先頭に移動する」ってことで書いておきます。

[ ]
RE:03086 メールヘッダ部の文字列をマクロで置き換えるNo.03087
秀まるお2 さん 01/09/14 17:27
 
>  一応、ヘルプにこの辺の「ファイルの先頭へ移動する系のものはすべて本文
> の先頭に移動する」ってことで書いておきます。

 でもselectallは例外なのですね。(自分で作ってなんですが)

[ ]
RE:03087 メールヘッダ部の文字列をマクロで置き換えるNo.03088
ひろ さん 01/09/14 19:57
 
 秀まるお2さん今日は、ひろです。
> >  一応、ヘルプにこの辺の「ファイルの先頭へ移動する系のものはすべて本文
> > の先頭に移動する」ってことで書いておきます。
>
>  でもselectallは例外なのですね。(自分で作ってなんですが)
 よろしくお願いします。
 ただ replaceall(fast) がそれだとすぐに解る人がどれだけいるかという
問題が残っていたりして。

[ ]
RE:03088 メールヘッダ部の文字列をマクロで置き換えるNo.03089
きいろいまふらあ さん 01/09/15 02:39
 
>> >  一応、ヘルプにこの辺の「ファイルの先頭へ移動する系のものはすべて本文
>> > の先頭に移動する」ってことで書いておきます。

> ただ replaceall(fast) がそれだとすぐに解る人がどれだけいるかという
>問題が残っていたりして。

該当するコマンド名を羅列していただくのがよいかと。

[ ]
RE:03089 メールヘッダ部の文字列をマクロで置き換えるNo.03090
秀まるお2 さん 01/09/15 12:42
 
> 該当するコマンド名を羅列していただくのがよいかと。

 一応、replaceallとreplaceallfastについては「本文の先頭から」と書きま
したが、他にもコマンド内部で「ファイル先頭に移動する」物があったらそれ
も該当する可能性が高いです。

 (詳しく調べてません)

[ ]