メール作成時、件名にカーソルNo.09687
dagloss さん 22/05/31 10:02
 
何時もお世話様になります。

早速ですが、新規メール作成時に件名部分にカーソル位置を指定
できるでしょうか?

現在、テンプレーをを多用していまして、

    $(SetHeader,Subject:,"xxxxx/です")$-

上記件名の  /  の前にカーソルを指定したいです。

宜しくお願い致します。



[ ]
RE:09687 メール作成時、件名にカーソルNo.09689
秀まるお2 さん 22/05/31 11:05
 
 テンプレート命令で$(ExecMacro,マクロ名)って指定を使ってマクロを起動しつつ、
そのマクロの中でカーソル移動する作戦で一応可能です。

 マクロの例としては、例えば今回の例なら

    loaddll "TKInfo.dll";
    moveto 0, -9999;
    searchdown "(?<=xxxxx/)", regular;
    if( selecting ) escape;

 みたいな内容でいいかと思います。例えばこれをNewMailMoveCursor.macって名前
で保存して、テンプレートで

    $(ExecMacro,"NewMailMoveCursor.mac")$-

 みたいな命令を入れると、新規メール作成直後にそのマクロが実行されてカーソル
が移動してくれます。

[ ]
RE:09689 メール作成時、件名にカーソルNo.09691
dagloss さん 22/05/31 11:41
 
何時も迅速に有り難う御座います。
マクロの登録、テンプレートへの設定は
お陰様をもちまして、上手く出来たかと存じます。

ただ、新規メールでテンプレートを読み込んで、
マクロを呼び出した時に、マクロ登録の折りに設定したパスと
全く違うパスにて、マクロを呼び出しに行きますので、
エラーとなってしまいます。

これは、秀丸エディタ側のマクロのパスかな?と勝手に想像
していますが、何かご教示頂ける確認場所など有りますでしょうか?

お手数をお掛け致しますが、何卒宜しくお願い致します。

[ ]
RE:09691 メール作成時、件名にカーソルNo.09692
dagloss さん 22/05/31 12:01
 
お騒がせ致しました。

秀丸エディタ側にて、マクロ用のフォルダへのパスを変更して
解決出来ました。

有り難う存じます。


※ 後は、カーソルの位置が件名の一番後になりますが、
   件名の先頭に指定する事は可能でしょうか?

欲張った内容で申し訳有りませんが、
良く件名を入力し忘れて最後に気付くのですが、
メールを作成時に先ずは件名から入力したいと存じました。

宜しく、お願い申し上げます。

[ ]
RE:09691 メール作成時、件名にカーソルNo.09693
秀まるお2 さん 22/05/31 12:13
 
 マクロ用フォルダの場所ですが、秀丸メールのメニューから指定するとしたら、
「設定 - 秀丸エディタの動作環境...」の「環境」ページにて指定する必要がありま
す。

 そこが正しく設定されてれば、マクロのファイル名だけで大丈夫なはずだと思いま
すが、ダメな場合は、

   $(ExecMacro,"c:\folder\macro.mac")$-

 みたいにフルパス指定してもいいんじゃないかと思います。

[ ]
RE:09692 メール作成時、件名にカーソルNo.09694
秀まるお2 さん 22/05/31 12:18
 
 カーソル位置は、

    moveto 20,-2;

 みたいな感じで位置指定してしまうやり方でもいいかもしれません。上記の例だと
x座標が20でy座標が本文の先頭行から2行上に移動します。

 Subject:ヘッダの位置が本文より3行上なら「-3」と指定すればそこに行くはずに
なります。

 または、searchup文でSubject:ヘッダの文字列を探してカーソル移動させるとか、
作戦はいろいろ可能です。

   searchup "xxxx";
   if( selecting ) escape;

 のようにするか、または正規表現で

   searchup "(?<=xxxx)", regular;
   if( selecting ) escape;

 とすれば、"xxxx"の次の位置にカーソルが移動します。

[ ]
RE:09694 メール作成時、件名にカーソルNo.09695
dagloss さん 22/05/31 13:27
 
できました!!

有り難う御座いました。
これで、テンプレートの活用更に進みます。

具体的には、
ご教示頂きました内容から

loaddll "TKInfo.dll";
moveto 0, -2;
searchdown "(?<=a)", regular;
if( selecting ) escape;

にて、ほぼ思い通りの設定になりました。
ほぼ と申しまして大変失礼申し上げますが、

件名を
   
         a/(わたくしの)名前です

と致しまして、上記マクロにより a  の直後にカーソルが
設定されましたので、Backspaceにてa を消去して"ほぼ"思い通りの
結果を得られました。

ご教示本当にありがとう御座いました。

[ ]
RE:09695 メール作成時、件名にカーソルNo.09696
dagloss さん 22/05/31 14:07
 
何度もお騒がせ致します。

ほぼ の部分も解消されました。

loaddll "TKInfo.dll";
moveto 0, -2;
searchdown "(?<=a)", regular;
deletebefore;
if( selecting ) escape;

a の後にカーソルを位置させ、deletebefore;の1行をプラスして、
思い通りの設定になりました。

ヒントを与えてくださって、有り難う御座いました。



今後ともどうか、宜しくお願い申し上げます。

[ ]