秀丸から秀丸メールを起動する際のマクロNo.40615
popper さん 23/06/13 12:38
 
秀丸から送信先アドレスをダブルクリックして(あるいは直接マクロを起動して)
秀丸メールを起動した際に、

メールタイトル(Subject)、メール本文、添付ファイルを設定した状態にしたいので
すが、

タイトル、本文、添付ファイル名の一部を変更したいのですが、やり方が分かりませ
ん。

具体的には、以下のようなメールを送信したいのです。
----------------------------------------------------
タイトル   :〇月定例会のご案内
本文     :〇月の定例会のご案内をいたします。
        (以下、毎月同内容です。)
添付ファイル名:〇月定例会開催場所の案内図
----------------------------------------------------

〇月の箇所だけを自動で設定したいのです。
このメールは前月に送信するので、
例えば、送信月が6月ですと自動で7月に設定したメールを作成したいのです。

以上を実現するマクロの作成方法が分かりません。

秀丸のマクロではなくて、秀丸メールでの設定等で可能であれば、その方法をお教え
いただければと思います。

よろしくお願いいたします。

[ ]
RE:40615 秀丸から秀丸メールを起動する際No.40616
秀丸担当 さん 23/06/13 15:05
 
秀丸メールのテンプレートでも近いことができると思いますが、秀丸エディタから指
示する場合は、Turukame.exeのコマンドラインオプションを指定するといいです。
詳細は、秀丸メールヘルプの起動時のコマンドラインのところにあります。

秀丸エディタのマクロからTurukame.exeの起動でする場合、以下のような感じででき
ました。

hidemaruversion "9.19.99";

//宛先
call GetEmailText;
$email=$$return;

//翌月
$nextmonth=str((val(month)%12)+1);
$nextmonth=filter("","ToZenkakuAlnum","",$nextmonth);//全角の場合

//添付ファイル
//あらかじめ"C:\Folder\7月定例会開催場所の案内図.jpg"とか12個のファイルを
置いておく
$attach=@"C:\Folder\"+$nextmonth+"月定例会開催場所の案内図.jpg";
if(existfile($attach)==false){
  message $attach+"\nがありません。";
  endmacro;
}

//本文(クリップボード使用)
setclipboard $nextmonth+"""
月の定例会のご案内をいたします。
(以下、毎月同内容です。)
 :
終わり
""";

//32bit版ならC:\Program Files (x86)
run sprintf("""
  "C:\Program Files\HidemaruMail\Turukame.exe" newmail To="%s" BodyFile=clip
board Subject="%s" Attach="%s"
  """
  , $email
  , $nextmonth+"月定例会のご案内"
  , $attach
   );

endmacro;

GetEmailText:
  if(selecting){
    //選択
    $$text=getselectedtext();
  } else if((colorcode&0x00001000 )!=0){
    //[その他]→[ファイルタイプ別の設定]→[デザイン]→[表示1]→[メールアドレ
スのカラー表示]の場所
    disabledraw;
    while(colorcode&0x00001000 ){
      left;
      if(!result)break;
    }
    if((x!=0)||(y!=0))right;
    ##x1=x;
    ##y1=y;
    while(colorcode&0x00001000){
      right;
      if(!result)break;
    }
    $$text=gettext(##x1,##y1,x,y);
  }
  return $$text;

[ ]
RE:40616 秀丸から秀丸メールを起動する際No.40617
popper さん 23/06/13 21:57
 
ありがとうございます。

お教えいただいた通り、
Turukame.exeのコマンドラインオプションを指定指定する方法で、
うまくいきました。

[ ]