マクロと何点か問い合わせNo.08977
na311 さん 21/12/13 00:11
 
お世話になっております。

お手数ですが下記についてご確認いただけないでしょうか。

@下記のマクロをどのようにすれば希望の
 動作になるか教えて頂けないでしょうか。
 →メールエディタ画面のsubjectに*****を入れたいが
  先頭に*****を入れたい。※下記は*****が最後に入ってしまう。
  元々subjectにあった例えば「○○○の件」等は残して先頭に入れたい。
  つまり「*****○○○の件」としたい。

  loaddll "tkinfo.dll";
    $subject = dllfuncstr("CurrentHeaderUnited", "subject");
    if( $subject != "" ) {
        $subject = $subject + ", ";
    }
    $subject = $subject + "*****";
    #n = dllfunc("SetHeaderUnited", "subject", $subject);

AメールエディタのBcc欄にフォーカス移動したい。
 キー割り当てやマクロで出来ないでしょうか。

Bアドレス帳のグループで「社内グループ」というものを作成したとして
 その「社内グループ」の中のアドレスに対して、返信メールを送る場合は
 自動的に「社内グループ」用のテンプレートを使用したい。 
 もしくはグループが難しい場合は個別アドレスに対してでもいい。
 (可能なら、個別アドレスを一つ一つ登録していくイメージ)
 ※「フォルダごとのテンプレート指定」の機能がありますが
  それとは別に出来ればと思っています。
  (フォルダに振り分けする前に、「未処理」フォルダにいったん
   全て振り分けするため)

お手数ですがご確認いただけると幸いです。


 
 

[ ]
RE:08977 マクロと何点か問い合わせNo.08981
秀まるお2 さん 21/12/13 10:52
 
 サイトー企画の斉藤秀夫です。

 

> @下記のマクロをどのようにすれば希望の
>  動作になるか教えて頂けないでしょうか。

 $subjectに文字列を追加する処理を、

    $subject = "*****" + $subject;

 にするだけでいいんじゃないかと思います。

> AメールエディタのBcc欄にフォーカス移動したい。
>  キー割り当てやマクロで出来ないでしょうか。

 マクロとしては以下のようになります。これをキー割り当てしたらいいかと思いま
す。

    loaddll "tkinfo.dll";
    #x = x; #y = y;
    gofiletop;
    searchup "^Bcc:", regular, nocasesense;
    if( result ) {
        golinetop2;
    } else {
        moveto #x, #y;
    }
    endmacro;


> Bアドレス帳のグループで「社内グループ」というものを作成したとして
>  その「社内グループ」の中のアドレスに対して、返信メールを送る場合は
>  自動的に「社内グループ」用のテンプレートを使用したい。 

 フォルダ毎設定でテンプレート指定するのがいいかと思うんですが、しいてマクロ
でやるとしたら、その「社内グループ」のメンバーに対して一人にだけ返信する時に
警告メッセージを表示する(&宛先を改変する)マクロを作っておいて、それを「あ
とで送信/今すぐ送信時」の自動起動マクロに登録しておいたらいいかもしれません。

 マクロの例としては以下のようになります。

    loaddll "tkinfo.dll";
    $to = dllfuncstr("CurrentHeaderUnited", "To") + "," + dllfuncstr("Curren
tHeaderUnited", "Cc");
    if( dllfunc("CountEmailList", $to) == 1 ) {
        //メールアドレスが1つだけの場合に限ってテスト。
        $to = dllfuncstr("SetEmailOnly", $to);
        $group = dllfuncstr("FindBookGroup", $to);
        if( $group == "社内グループ" ) {
            question "社内グループのメンバー一人だけに送ろうとしています。グ
ループのメンバー全員指定にしますか?";
            if( result == yes ) {
                $to = dllfuncstr("ExtractBookGroup", "Group(/社内グループ)");
                #n = dllfunc("SetHeaderUnited", "To", $to);
                #n = dllfunc("DeleteHeaderUnited", "Cc");
            }
        }
    }
    endmacro;

[ ]
RE:08981 マクロと何点か問い合わせNo.08986
na311 さん 21/12/13 13:43
 
早速ありがとうございます。

>> @下記のマクロをどのようにすれば希望の
>>  動作になるか教えて頂けないでしょうか。
>
> $subjectに文字列を追加する処理を、
>
>    $subject = "*****" + $subject;
>
> にするだけでいいんじゃないかと思います。

→対応出来ました。
 ありがとうございます。

>> AメールエディタのBcc欄にフォーカス移動したい。
>>  キー割り当てやマクロで出来ないでしょうか。
>
> マクロとしては以下のようになります。これをキー割り当てしたらいいかと思い
>ます。
>
>    loaddll "tkinfo.dll";
>    #x = x; #y = y;
>    gofiletop;
>    searchup "^Bcc:", regular, nocasesense;
>    if( result ) {
>        golinetop2;
>    } else {
>        moveto #x, #y;
>    }
>    endmacro;

→こちらも対応出来ました。
 ありがとうございます。

>> Bアドレス帳のグループで「社内グループ」というものを作成したとして
>>  その「社内グループ」の中のアドレスに対して、返信メールを送る場合は
>>  自動的に「社内グループ」用のテンプレートを使用したい。 
>
> フォルダ毎設定でテンプレート指定するのがいいかと思うんですが、しいてマク
>ロでやるとしたら、その「社内グループ」のメンバーに対して一人にだけ返信する
>時に警告メッセージを表示する(&宛先を改変する)マクロを作っておいて、それ
>を「あとで送信/今すぐ送信時」の自動起動マクロに登録しておいたらいいかもしれ
>ません。
>
> マクロの例としては以下のようになります。
>
>    loaddll "tkinfo.dll";
>    $to = dllfuncstr("CurrentHeaderUnited", "To") + "," + dllfuncstr("Curre
>ntHeaderUnited", "Cc");
>    if( dllfunc("CountEmailList", $to) == 1 ) {
>        //メールアドレスが1つだけの場合に限ってテスト。
>        $to = dllfuncstr("SetEmailOnly", $to);
>        $group = dllfuncstr("FindBookGroup", $to);
>        if( $group == "社内グループ" ) {
>            question "社内グループのメンバー一人だけに送ろうとしています。
>グループのメンバー全員指定にしますか?";
>            if( result == yes ) {
>                $to = dllfuncstr("ExtractBookGroup", "Group(/社内グループ)");
>                #n = dllfunc("SetHeaderUnited", "To", $to);
>                #n = dllfunc("DeleteHeaderUnited", "Cc");
>            }
>        }
>    }
>    endmacro;

→試してみます。ご提示いただき助かります。

[ ]