起動時のアカウント選択No.23529
アレス さん 05/07/12 09:17
 
 起動時にアカウントを選択する方法はないでしょうか。

 mailtoで起動したときに、あるページはAアカウント、あるページはBアカウントでメ
 ールを送りたいという時があります。現在は一旦標準のアカウントで作成し、本文を
 コピーしてから該当アカウントで送信しています。しかしテンプレートや署名が違っ
 たりして、その修正も面倒です。
 起動時にリストからどのアカウントを使うか、そしてそのアカウントのどのテンプレ
 ートを使うかが選択できれば非常にありがたいです。
 もちろんマクロでも構いません。

 よろしくお願いします。
__________________________________
Save the earth
http://pr.mail.yahoo.co.jp/ondanka/

[ ]
RE:23529 起動時のアカウント選択No.23531
秀まるお2 さん 05/07/12 10:09
 
 マクロでないと出来ないんですけど、マクロでやるとしたら、

-----------------
   loaddll "tkinfo.dll";
   #n = dllfunc("SelectFolder", "アカウント名", "");
-----------------

 みたいな2行だけのマクロとなります。

 "アカウント名"の次のパラメータでフォルダを指定することも出来ます。詳し
くはマクロヘルプのSelectFolder関数の所を参照ください。

[ ]
RE:23531 起動時のアカウント選択No.23534
capa さん 05/07/12 11:39
 
capa%鶴亀ユーザです。横から失礼します。

このマクロでは本体の選択フォルダが変わるだけですよね。アレスさん
は「mailtoで起動したとき」と書かれているのでちょっと違うような…

コピペで別アカウントのエディタに貼り付けているとのことですが、送
信エディタの画面でFromをクリックすると、アカウントの変更メニュー
が表示されるのでこれを使うだけでも随分楽になるかもしれません。

[ ]
RE:23534 起動時のアカウント選択No.23535
秀まるお2 さん 05/07/12 12:00
 
 すみません。先頭の1行しか見てませんでした。

 mailto:でエディタ起動した後にアカウントを切り替えるには、capaさんの話
にあるように、From:部分をマウスクリックして出てくるメニューを使うしか無
いです。

 しいてマクロでなんとかするって手ありますけど。やるとしたら、まずは、
mailto:で起動される用のダミーのアカウントを作る必要があります。例えば
「mailto用ダミー」って名前のアカウントを作っておきます。そして、「全般的
な設定・基本」の「標準のアカウント」にて、このアカウントを指定しておきま
す。

 さらに、「マクロ・マクロ登録・自動起動・送信用のエディタ起動時」に、例
えば以下のようなマクロを登録します。

-----------------
    loaddll "tkinfo.dll";
    if( dllfuncstr("CurrentAccount") != "mailto用ダミー" ) {
        endmacro;
    }
    menu "アカウント1", "アカウント2";
    if( result == 1 ) {
        #n = dllfunc("SetEditorAccount2", "アカウント1", 0 );
    } else if( result == 2 ) {
        #n = dllfunc("SetEditorAccount2", "アカウント2", 0 );
    } else {
        quit;
    }
-----------------

[ ]
RE:23535 起動時のアカウント選択No.23537
アレス さん 05/07/12 14:43
 
 秀まるお2様、capa様、ありがとうございました。

 教えていただいたマクロで切り替えが実行できました。「マクロ・マクロ登録・自動
 起動・送信用のエディタ起動時」には、別のマクロを登録しておりましたので、そこ
 に書き加えておきました。
 これで一段と便利になります。

 フォルダを指定したかったのは、署名を切り替えたかったからですが、まあそんなに
 大きく違っているわけではないので、ここまでできたら十分です。

 あと、私のように/dオプションでフォルダ切り替えしている場合は、切り替えた後、
 標準のアカウントが一番上に表示されているアカウントになるようです。これはダミ
 ーアカウントを先頭にもってくることで回避されますので、問題はないですが、そこ
 で戸惑う方がいらっしゃたるかも知れないので書いておきました。


__________________________________
Save the earth
http://pr.mail.yahoo.co.jp/ondanka/

[ ]
RE:23537 起動時のアカウント選択No.23538
秀まるお2 さん 05/07/12 15:33
 
>  フォルダを指定したかったのは、署名を切り替えたかったからですが、

 SwitchTemplate/SwitchSign関数などもあるのでなんでしたら署名の切り替え
とか出来るとは思います。

>  あと、私のように/dオプションでフォルダ切り替えしている場合は、切り替えた
>  後 、標準のアカウントが一番上に表示されているアカウントになるようです。

 「標準のアカウント」として指定したアカウントが存在しないとそういうこと
になってしまうようです。/dで切り替えるフォルダすべてに標準のアカウントと
同じ名前のアカウントが存在していれば一応大丈夫だとは思いますが…。「標準
のアカウント」が/dオプションで指定するフォルダ毎に保持できるような仕組み
が出来るかどうか考えてみます。

[ ]
RE:23538 起動時のアカウント選択No.23541
アレス さん 05/07/12 17:27
 
> SwitchTemplate/SwitchSign関数などもあるのでなんでしたら署名の切り替えとか出
>来るとは思います。

 そんな関数もあったのですね。menuを入れ子にすることで、対応できそうです。
 ご教授ありがとうございます。


> 「標準のアカウント」として指定したアカウントが存在しないとそういうことにな
>ってしまうようです。/dで切り替えるフォルダすべてに標準のアカウントと同じ名前
>のアカウントが存在していれば一応大丈夫だとは思いますが…。「標準のアカウン
>ト」が/dオプションで指定するフォルダ毎に保持できるような仕組みが出来るかどう
>か考えてみます。

 はい、先ほど書きました通り、対処方法はありますので、本当にお手すきの時で結構
 ですのでよろしくお願いします。
__________________________________
Save the earth
http://pr.mail.yahoo.co.jp/ondanka/


[ ]
RE:23534 起動時のアカウント選択No.23549
n'Guin さん 05/07/12 23:46
 
n'Guinです。横から失礼します。


>このマクロでは本体の選択フォルダが変わるだけですよね。アレスさん
>は「mailtoで起動したとき」と書かれているのでちょっと違うような…
こういうときのために、NewMailType関数 があります。

「mailto:XXXXX」のような形で起動されたメールかどうかを
判別できます。

いかがでしょうか?
 

[ ]
RE:23549 起動時のアカウント選択No.23550
秀まるお2 さん 05/07/13 08:08
 
 自分で作っていて自分で忘れてました。それを使った方がエレガントでした。

 自分でもたしかそんな関数作ったような気がしたんですけど、
ReasonMacroStarted関数は違うしなぁと思って探すのあきらめてしまってました。

    loaddll "tkinfo.dll";
    if( dllfunc("NewMailType") != 2 ) {
        endmacro;
    }
    menu "アカウント1", "アカウント2";
    if( result == 1 ) {
        #n = dllfunc("SetEditorAccount2", "アカウント1", 0 );
    } else if( result == 2 ) {
        #n = dllfunc("SetEditorAccount2", "アカウント2", 0 );
    } else {
        quit;
    }

 みたいにした方がいいです。

[ ]
RE:23550 起動時のアカウント選択No.23554
アレス さん 05/07/13 16:02
 
 n'Guin 様、秀まるお2様、ありがとうございました。

 mailtoもそうなんですが、私が使っているアプリケーションで標準のメーラーを呼び
 出して、メールを作成してくれるものがありまして、そちらでは作っていただいたマ
 クロ動きませんでした。
 前のマクロは動きましたので、そちらで運用します。

 それとNewMailType の戻り値ですが文字型の様で、下記書式ではマクロが動きません
 でした。2をダブルコーテションで囲むとうまくいきました。

>    loaddll "tkinfo.dll";
>    if( dllfunc("NewMailType") != 2 ) {
>        endmacro;
>    }
>    menu "アカウント1", "アカウント2";
>    if( result == 1 ) {
>        #n = dllfunc("SetEditorAccount2", "アカウント1", 0 );
>    } else if( result == 2 ) {
>        #n = dllfunc("SetEditorAccount2", "アカウント2", 0 );
>    } else {
>        quit;
>    }

 たびたびありがとうございました。
__________________________________
Save the earth
http://pr.mail.yahoo.co.jp/ondanka/

[ ]