subjectの選択No.45862
gndrv21 さん 14/03/05 22:56
 
お世話になります。

ご質問があります。
フォルダーを作成しテンプレート作成しToやCcも設定します。

新規メール作成時にsubject(件名)のみ5〜6個の固定件名を
予め用意しておいて選択形式でsubjectにセットするような事ができますでしょうか。

■subject固定件名項目
 出張
 打ち合わせ
 TV会議
 来客
 報告書
 etc

あるフォルダー選択後、新規メールボタンをクリックすると
ダイアログボックスが表示されどれかを選択するとsubjebtに自動的に
入るような感じです。

何か良い手法がありましたら教えてください。


[ ]
RE:45862 subjectの選択No.45864
秀まるお2 さん 14/03/06 09:17
 
 Subject:ヘッダの内容で、特に頻繁に使う物がある場合は、「ヒストリに常
駐」って機能を使う作戦が1つあります。

 新規メールの「Subject:」の所をクリックするか、またはその位置でAlt+↓
キーを押すと、Subject:ヘッダの履歴メニューが出ます。そこの中でマウス右
ボタンを押すと、「ヒストリに常駐」などのコマンドが出てくるので、それで常
駐を指定すると、それが今後もずっと出てきます。

 他にも検索条件とか、いくつかの場面でマウス右ボタンメニューから「ヒスト
リに常駐」が指定出来ます。

> あるフォルダー選択後、新規メールボタンをクリックすると
> ダイアログボックスが表示されどれかを選択するとsubjebtに自動的に
> 入るような感じです。

 マクロとテンプレートを組み合わせればできると思います。

 Subjectを選択するマクロをまず作ります。

-------Subject選択.mac--------------------------------------
    $subj[0] = "出張";
    $subj[1] = "打ち合わせ";
    $subj[2] = "TV会議";
    $subj[3] = "来客";
    $subj[4] = "報告書";
    $subj[5] = "etc";
    #subjCount = 6;

    menuarray $subj, #subjCount;
    #index = result - 1;
    if( #index >= 0 ) {
        loaddll "tkinfo.dll";
        #n = dllfunc("SetHeader", "Subject", $subj[#index]);
    }
------------------------------------------------------------

 あと、このマクロを呼び出す用のテンプレートを1つ作ります。そのテンプ
レートの中で、

  $(ExecMacro,"Subject選択.mac")$-

 を入れておけば、新規メール作成と同時にマクロが実行されて、Subject選択
が出来ます。

    #index = result - 1;

 の直後に

    if( #index < 0 ) {
        exit;
    }

 を入れておけば、メニューをキャンセルすると同時に新規メールのウィンドウ
も閉じたりってことも出来ます。

 「新規メール」のウィンドウが出てくる前にSubjectの選択をしたいとなると、
「新規メール」コマンドをマクロに置き換える必要があって、ちょっと面倒です。
必要ならそのやり方の例も提示は可能ですが、あまりお勧めはしないです。

[ ]
RE:45864 subjectの選択No.45868
gndrv21 さん 14/03/06 23:26
 
お世話になります。

> マクロとテンプレートを組み合わせればできると思います。
>
> Subjectを選択するマクロをまず作ります。
>
>-------Subject選択.mac--------------------------------------
>    $subj[0] = "出張";
>    $subj[1] = "打ち合わせ";
>    $subj[2] = "TV会議";
>    $subj[3] = "来客";
>    $subj[4] = "報告書";
>    $subj[5] = "etc";
>    #subjCount = 6;
>
>    menuarray $subj, #subjCount;
>    #index = result - 1;
>    if( #index >= 0 ) {
>        loaddll "tkinfo.dll";
>        #n = dllfunc("SetHeader", "Subject", $subj[#index]);
>    }
>------------------------------------------------------------

上記やってみました。無事にできました。
凄いですね。ありがとうございます。
一度このマクロ+テンプレートを提案してみます。

あと「マクロの実行を中断しますか」のダイアログで
「はい」をクリックすると新規メールウィンドウが閉じ
「いいえ」をクリックすると再度Subject選択画面など起動することが
できますでしょうか。

ご教授頂けると幸いです。


[ ]
RE:45868 subjectの選択No.45869
秀まるお2 さん 14/03/07 09:19
 
> あと「マクロの実行を中断しますか」のダイアログで
> 「はい」をクリックすると新規メールウィンドウが閉じ
> 「いいえ」をクリックすると再度Subject選択画面など起動することが
> できますでしょうか。

 今回のマクロは中断できるような箇所は無いのでまた別のマクロでの話かと思
いますが、一般に、マクロを中断した後に何か特別なアクションを自動で動かす
ようなことは出来ないので、自動で新規メールを閉じるようなことは出来ません。

 しいてなんとかするとしたら、disablebreakでマクロを中断させること自体を
禁止して、マクロの中で

    if( keypressed ) {
        question "マクロを中断しますか?";
        if( result == yes ) {
            quit;
        }
    }

 のように自前で中断の処理(および中断してからquitでエディタを閉じる)を
したらいいかと思います。

[ ]