subject: についても置換などの編集処理はNo.10763
kendo さん 03/01/19 13:15
 
 kendoです。教えてください。

鶴亀のエディタで手紙の本体を書いていて、ちょっと長い単語などはとりあえず略号
で書いておき、あとから一括して置換してしまうことがよくあります。

例えば「全国秀丸愛好の会」などという文字列を頭文字で  zha
などとしておいて後から置換するような例です。
 
 そうした際に、「subject:」の部分も本文と一緒に置換できるとうれしいです。

 たとえば、subject:の所にも 「zha 次回の予定について」
 などとしておけば、本文と一緒に 【zha → 全国秀丸愛好の会】といった置換
が一発でできます。

 こうしたことは仕様上難しいものなのでしょうか。

[ ]
RE:10763 subject: についても置換などのNo.10765
ひろ さん 03/01/19 14:06
 
 kendo さん今日は、ひろです。
> 鶴亀のエディタで手紙の本体を書いていて、ちょっと長い単語などはとりあえず略号
> で書いておき、あとから一括して置換してしまうことがよくあります。
<中略>
>  そうした際に、「subject:」の部分も本文と一緒に置換できるとうれしいです。
 [全置換] でヘッダも本文と同じ扱いにして欲しいということでしょうか?
取り敢えず、ヘッダと本文別に扱うのは仕様です。仕様を変更すると、(特に
マクロの) 互換性が問題になるので、変更を難しいと思います。

 ただマクロでそれ専用の置換を用意することは出来ます。必要なら作ります
が...。

[ ]
RE:10763 subject: についても置換などのNo.10766
きいろいまふらあ さん 03/01/19 14:07
 
横から口出すのもなんですが

>例えば「全国秀丸愛好の会」などという文字列を頭文字で  zha
>などとしておいて後から置換するような例です。
> 
> そうした際に、「subject:」の部分も本文と一緒に置換できるとうれしいです。

現状でも、(編集→全て選択などで)ヘッダ部分も含めて全て選択しておいて、
選択範囲内の置換をすることで、ヘッダ部分も含めた文字列の置換は可能ですね。

ただし、この場合問題なのは、置換されてはまずい部分、あるいは意図しない部
分まで置換されてしまうということでしょうか?
(例えば「jec→日本象委員会」と置換したときに「Subject:」が「Sub日本象委
員会t:」になってしまうとか。例が貧弱で申し訳ないです。)
#おそらくkendoさんがご要望に至ったのも、この所以だと思うのですが。

とすると、「本文およびSubject:の右側だけを置換の対象にする」ってことにな
るんでしょうか?
Subject:以外のヘッダは相手にしなくていいんでしょうか?

もし、「zha→全国秀丸愛好の会」という置換自体をマクロでやろうとしてるな
ら、そのマクロにヘッダ部分の置換処理を追加しちゃえば(本文を置換してから
Subject:の右側だけをもう一度同じ条件で置換する)いいだけだと思うんですが、
マクロでなく手作業でやろうってことならちょっと面倒かもしれませんね。
#でも、そもそもやろうとしていることが手作業向きじゃない気もする……。

[ ]
RE:10766 subject: についても置換などのNo.10768
kendo さん 03/01/19 14:18
 
きいろいまふらあ様、kendoです。
お世話になります。

>とすると、「本文およびSubject:の右側だけを置換の対象にする」ってことにな
>るんでしょうか?
>Subject:以外のヘッダは相手にしなくていいんでしょうか?
 ええ。もし、ほかのヘッダのなかに、たとえば、私の例で
 zhaの文字列があったとすると、それも置換してしまうのは困ります。
 (そんなことはまずないのですが、例えば自分や相手のアドレス......)
 
 

[ ]
RE:10765 subject: についても置換などのNo.10769
kendo さん 03/01/19 14:18
 
ひろ様、kendoです。お世話になります。
> [全置換] でヘッダも本文と同じ扱いにして欲しいということでしょうか?
>取り敢えず、ヘッダと本文別に扱うのは仕様です。仕様を変更すると、(特に
>マクロの) 互換性が問題になるので、変更を難しいと思います。
 きいろいまふらあ様からもご質問をいただいたのですが、subjectの右側、つまり
subjectの実質的な内容のみを、本文と一緒に一括で置換できたら......というのが
願いです。
 

[ ]
RE:10769 subject: についても置換などのNo.10780
アルビレオ さん 03/01/19 21:51
 
アルビレオです。

>subjectの右側、つまりsubjectの実質的な内容のみを、
>本文と一緒に一括で置換できたら......というのが
>願いです。

Subjectまで置換して欲しくない場合も決して少なくないでしょう。
ひろさんの書かれたようにマクロの問題もあります。
一番安易な解決策は置換ダイアログに「Subjectも置換する」のようなチェックボッ
クスを
用意することですが、このダイアログは秀丸エディタと共通になっているので実現困
難だと思います。

というわけで、本文の置換の後にSubjectにカーソルを移動してから再度置換するという
きいろいまふらあさんの案が現実的ではないでしょうか。

きいろいまふらあさん
>そもそもやろうとしていることが手作業向きじゃない気もする……。
標準のキー設定なら
1.本文を置換
2.Ctrl+PageUpで本文の先頭に
3.↑を何回か押してSubjectにカーソルを移動
4.F3で再置換
でいけます。
マクロを使う場合はSubjectがどの行にあるかわからないし、SetHeaderでは置換はで
きないので
いろいろと難しい気がします。
手作業でも決して少ない手間ではないんですけどね。

[ ]
RE:10769 subject: についても置換などのNo.10784
ひろ さん 03/01/19 22:39
 
 kendo さん今日は、ひろです。
> subjectの右側、つまり
> subjectの実質的な内容のみを、本文と一緒に一括で置換できたら......というのが
> 願いです。
 例外処理が抜けているかもしれませんが、取り敢えずヘッダの内容も含めて
全置換できるマクロを作ってみました。

//------------- ヘッダの内容を含めた全置換マクロ --------------------
replace;
if( !result ){
  if( !(x == 0 && y == 0) )endmacro;
}
#option = searchoption;
#option = #option|4^4;
setsearch searchbuffer, #option;
#x = x;
#y = y;
disabledraw;
finddown;
if( result )goto End;//全置換でない
findup;
if( result ){
  if( y > 0 )goto End;//全置換でない
}
//これ以外に全置換でない場合があるが、判定方法が解らない
//以下ヘッダの置換部分
moveto 0, 0;
#x = x;
#y = y;
while( 1 ){
  findup;
  if( !result )break;
  if( colorcode&14==14 ){//email の部分も置換しないが、まあ良いか
    moveto #x, #y;
    setsearch searchbuffer, #option|4;
    findup;
    setsearch searchbuffer, #option;
  }
  #x = x;
  #y = y;
}
setsearch searchbuffer, #option|4;
endmacro;

End:
  moveto #x, #y;
  setsearch searchbuffer, #option|4;
  endmacro;

[ ]
RE:10784 subject: についても置換などのNo.10785
kendo さん 03/01/19 22:42
 
ひろさん、kendoです。
ありがとうございます。今日はあまり時間の余裕がありませんが、いろいろ試してみ
たいと思います。

> kendo さん今日は、ひろです。
>> subjectの右側、つまり
>> subjectの実質的な内容のみを、本文と一緒に一括で置換できたら......というのが
>> 願いです。
> 例外処理が抜けているかもしれませんが、取り敢えずヘッダの内容も含めて
>全置換できるマクロを作ってみました。

[ ]
RE:10784 subject: についても置換などのNo.10813
山紫水明 さん 03/01/20 21:27
 
 ひろさん,こんばんは。

 横から失礼します。ちょっと教えてください。

》 例外処理が抜けているかもしれませんが、取り敢えずヘッダの内容も含めて
》全置換できるマクロを作ってみました。

 これは,Subject 以外のヘッダ内容も置換するようですね。kendo さんは
Subject の内容のみという希望のようですが。
 それはともかくとして,マクロの中に

》#option = #option|4^4;

》    setsearch searchbuffer, #option|4;

 というような箇所があるのですが,これはどういう意味でしょうか。単純に,

  #option = searchoption;
  ・・・・
  setsearch searchbuffer, #option;

とするとどういう不都合が生じるのでしょうか?

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

[ ]
RE:10813 subject: についても置換などのNo.10819
ひろ さん 03/01/21 12:58
 
 山紫水明さん今日は、ひろです。
>  横から失礼します。ちょっと教えてください。
 http://www.maruo.co.jp/turukame/2/ にフォローを入れます。

[ ]
RE:10784 subject: についても置換などのNo.10912
kendo さん 03/01/25 09:19
 
ひろさん、kendoです。
またおねだりですみません。

ひろさんがお作りになったこのマクロのような使い勝手で
ある置換リストを読み込んで一発で複数の文字列アイテムを
subj:も含めて置換はでいないでしょうか。

たとえば、

zhk 全国秀丸研究会
zha 全国秀丸愛好会
zts全国鶴亀愛好会」
......
......

などというテキストファイルでリストを作って置いてそれを参照して
一括置換をできないかということですが......


> 例外処理が抜けているかもしれませんが、取り敢えずヘッダの内容も含めて
>全置換できるマクロを作ってみました。
>

[ ]
RE:10912 subject: についても置換などのNo.10914
ひろ さん 03/01/25 13:45
 
 kendo さん今日は、ひろです。
> ひろさんがお作りになったこのマクロのような使い勝手で
> ある置換リストを読み込んで一発で複数の文字列アイテムを
> subj:も含めて置換はでいないでしょうか。
 INI ファイルとのやり取りで出来ますが、空き時間を他のマクロの作成に費
やしているので、他の方にバトンタッチ(^^;。

[ ]
RE:10914 subject: についても置換などのNo.10915
kendo さん 03/01/25 13:49
 
ひろさん、kendoです。
おねだり、すみませんでした。またお時間ができましたらよろしくお願いいたします。

You wrote on Jan/25/03:
> INI ファイルとのやり取りで出来ますが、空き時間を他のマクロの作成に費
>やしているので、他の方にバトンタッチ(^^;。

[ ]
RE:10915 subject: についても置換などのNo.10917
山紫水明 さん 03/01/25 23:36
 
 kendoさん,こんばんは。

》ある置換リストを読み込んで一発で複数の文字列アイテムを
》subj:も含めて置換はでいないでしょうか。

》他の方にバトンタッチ(^^;。

  ひろさんのマクロのような緻密なものは作る余裕がありませんが,次のような
ので一度試して下さい。

//---- TKListReplace.mac ----------------------------------------//

//  henkan.txt を鶴亀メールのホームディレクトリにおく

loaddll "tkinfo.dll";
$inifile = dllfuncstr( "HomeDir" ) + "henkan.txt";
            //  他の場所,ファイル名に変えてもよい。
#i = 1;
disabledraw;
while( 1 ) {
    $s = getinistr( $inifile, "List", "s" + str( #i ) );
    if( $s == "" ) break;
    $r = getinistr( $inifile, "List", "r" + str( #i ) );
    if( $r == "" ) break;
    replaceallfast $s, $r;
    searchup "Subject";
    moveto 10, y;
    beginsel;
    golineend2;
    replaceall $s, $r, inselect;
    #i = #i + 1;
}
endmacro;
//------------------------------------------------//

henkan.txt は次の要領で書いてください。

---------------------------
;変換用リスト

[List]
s1=太陽
r1=sun
s2=月
r2=moon
s3=星
r3=star
s4=海
r4=sea
s5=空
r5=sky
・・・
・・・
---------------------------

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

[ ]
RE:10917 subject: についても置換などのNo.10918
kendo さん 03/01/25 23:45
 

山紫水明さん、お世話になります。kendoです。
>
>》ある置換リストを読み込んで一発で複数の文字列アイテムを
>》subj:も含めて置換はでいないでしょうか。
>
>》他の方にバトンタッチ(^^;。
>
>  ひろさんのマクロのような緻密なものは作る余裕がありませんが,次のような
>ので一度試して下さい。
 ぜひ「試さ」せてください。
 

[ ]
RE:10918 subject: についても置換などのNo.10922
山紫水明 さん 03/01/26 08:51
 
 kendoさん,こんにちは。

》 ぜひ「試さ」せてください。

 万一,本文中やヘッダー内容に「Subject」という語があったら誤作動しますので,

    searchup "Subject";

の1行を

    moveto 0, 0;
    searchup "^Subject:  ", regular;

の2行に置き換えてください。

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

[ ]
RE:10922 subject: についても置換などのNo.10924
kendo さん 03/01/26 08:57
 

山紫水明様、kendoです。
了解しました。:-))

>   searchup "Subject";
>
>の1行を
>
>    moveto 0, 0;
>    searchup "^Subject:  ", regular;
>
>の2行に置き換えてください。

[ ]