ブラウザクリック時のカレントフォルダかNo.33727
5HPONGO さん 08/04/07 18:53
 
 まいど。

 ブラウザ上で mailto:xxxxxxx@example.co.jp のやうなものをクリッ
クしたとき,秀丸メール本體側で選擇されてゐるカレントアカウントの
カレントフォルダからメールを発信できるやうにエディットウィンドウ
を開くにはどうすればいいのでせうか?

 次のやうなマクロを作つて [マクロ登録]→[自動起動]→[送信用のエ
ディタ起動時] に登録してみたのですが,$accountが《標準のアカウン
ト》に,$folder が "" になつてしまつてをり,意圖した動作をしませ
んでした:
 
loaddll "TKInfo.dll";
if (dllfunc("NewMailType") == 2) {
    $account = dllfuncstr("CurrentAccount");
    $folder  = dllfuncstr("CurrentFolder");
    #n = dllfunc("SetEditorAccount2", $account, 0);
}

 dllfuncstr("CurrentAccount")と dllfuncstr("CurrentFolder")は,
ウィンドウが開いてからアカウントとフォルダを取得してゐるので,こ
の動作でいいのかもしれませんが,それならエディットウィンドウから
本體側で選擇されてゐるカレントアカウントやカレントフォルダを知る
にはどうすればいいのでせうか? 又はこのマクロの自動起動の登録位
置がまずいのでせうか?

 また,「dllfunc("SetEditorAccount2", $account, 0);」で発信元ア
カウントを切り替へられることは分かつたのですが,発信元フォルダは
どうすれば指定できるのでせうか(フォルダに設定してあるアカウント
情報を利用したいので)?

 ほな。

--
5HPONGO <xxxxxxxxxxxxxx@yahoo.co.jp>
(2008-04-07T18:04:11)

[ ]
RE:33727 ブラウザクリック時のカレントフNo.33729
秀まるお2 さん 08/04/08 08:52
 
 秀丸メール本体ウィンドウ上でのCurrentAccountを取得するには、ExecAt関
数を使えばいいです。マクロとしては以下のようになります。

loaddll "tkinfo.dll";
if (dllfunc("NewMailType") == 2) {
    #main = dllfunc("MainWnd");
    $account = dllfuncstr("ExecAt", #main, "CurrentAccount");
    #n = dllfunc("SetEditorAccount2", $account, 0);
}

>  また,「dllfunc("SetEditorAccount2", $account, 0);」で発信元ア
> カウントを切り替へられることは分かつたのですが,発信元フォルダは
> どうすれば指定できるのでせうか(フォルダに設定してあるアカウント
> 情報を利用したいので)?

 発信元フォルダを切り替える関数は用意してないので無理ではないかと思い
ます。

 しいてやるとしたら、秀丸メール本体側上でNewMail関数を使って新規メー
ルを起動して、そこにmailto:で起動されたエディタのTo:ヘッダ内容を渡して
やるとか、そうするしか無いんじゃないかと思います。

[ ]
RE:33729 ブラウザクリック時のカレントフNo.33737
5HPONGO さん 08/04/09 19:15
 
"秀まるお2"さん

 まいど,お世話になつてをります。

 取り敢へず次のやうなマクロを使つてゐるのですが,本來はアカウン
トのプロパティではなく《フォルダの設定》の《フォルダ毎のアカウン
ト情報の設定》から
    1. 新規メール時の宛先(T)(いつも特定の宛先を指定する場合)
    2. 名前(N)
    3. メールアドレス(M)
    4. 所属(O)
    5.「Bcc:ヘッダを追加する」の宛先
を取得したいのですが,どのやうにすればいいのでせうか? 特に,1.
を取得する方法が分からず,困つてゐます。アカウントのプロパティで
はなくフォルダのプロパティを取得したいのです。どのやうにすればよ
ろしいでせうか?

//----------------------------------------------------- ココカラ
loaddll "TKInfo.dll";
if (dllfunc("NewMailType") == 2) {
    #main = dllfunc("MainWnd");
    $account = dllfuncstr("ExecAt", #main, "CurrentAccount");
//  $folder  = dllfuncstr("ExecAt", #main, "CurrentFolder");
    #n = dllfunc("SetEditorAccount2", $account, 0);
    // 現在はアカウントのプロパティを取得してゐる。
    // 名前,メールアドレス及びBcc:ヘッダ用アドレスは今のところ
    // 勝手に表示されるものを用ゐ,Organization:ヘッダのみ 存在
    // チェックをしてゐる。
    #n = dllfunc("LoadAccountProp", $account);
    $org = dllfuncstr("GetAccountProp", "szOrganization");
    if ($org != "")
        #n = dllfunc("AddHeader", "Organization", $org);
}
//----------------------------------------------------- ココマデ

 ほな。
--
5HPONGO
(2008-04-09T00:43:32)

[ ]
RE:33737 ブラウザクリック時のカレントフNo.33739
秀まるお2 さん 08/04/10 09:17
 
>     1. 新規メール時の宛先(T)(いつも特定の宛先を指定する場合)

 これについては、GetFolderPropNewMailToという関数があります。

 他にフォルダ毎設定に関係した関数としては、

 SetFolderPropNewMailTo
 SetFolderIcon

 があるだけで、他には何も無いです。

>     2. 名前(N)
>     3. メールアドレス(M)
>     4. 所属(O)
>     5.「Bcc:ヘッダを追加する」の宛先

 必要なら関数追加してもいいですけど。

[ ]
RE:33739 ブラウザクリック時のカレントフNo.33742
5HPONGO さん 08/04/10 18:15
 
秀まるお2さん

 まいど,何度もお付合ひ下さいまして有難う存じます。とりあへず

// ---------------------------------------------------- ココカラ
loaddll "TKInfo.dll";
if (dllfunc("NewMailType") == 2) {
    #main = dllfunc("MainWnd");
    $account = dllfuncstr("ExecAt", #main, "CurrentAccount");
//  $folder  = dllfuncstr("ExecAt", #main, "CurrentFolder");
    #n = dllfunc("SetEditorAccount2", $account, 0);
    $to = dllfuncstr("ExecAt", #main, "GetFolderPropNewMailTo");
    $s = dllfuncstr( "SetHeader", "To", $to);
    #n =   dllfunc("LoadAccountProp", $account);
    // 本來は《フォルダ毎の設定》から取得したい。
    $org = dllfuncstr("GetAccountProp", "szOrganization");
    if ($org != "")
        $s = dllfuncstr( "AddHeader", "Organization", $org);
}
// ---------------------------------------------------- ココマデ

として,マクロの骨格が出來上りました(エラーチェックも何もしてゐ
ない)。有難うございました。

> >     1. 新規メール時の宛先(T)(いつも特定の宛先を指定する場合)
>
>  これについては、GetFolderPropNewMailToという関数があります。

 マクロヘルプの《TKInfo.dllの関数一覧》といふページに載せておい
て戴ければ幸ひに存じます。

>  他にフォルダ毎設定に関係した関数としては、
>
>  SetFolderPropNewMailTo
>  SetFolderIcon
>
>  があるだけで、他には何も無いです。

 ふむ,さうですか。

> >     2. 名前(N)
> >     3. メールアドレス(M)
> >     4. 所属(O)
> >     5.「Bcc:ヘッダを追加する」の宛先
>
>  必要なら関数追加してもいいですけど。

 折角,フォルダ毎に設定できるやうになつてゐるのですから,その情
報を取得できるやうにしておいて戴ければ有難く存じます。つまり,函
數をお願ひします。m(__)m

 秀丸メールをお使ひの皆さんは,フォルダ毎に名前の書き方を漢字表
記‐國内向けにしたりローマ字表記‐海外向けにしたり,所屬等を變へ
たりしないで使つていらつしやるのでせうか? 勿體ない。

 ほな。
--
5HPONGO <xxxxxxxxxxxxxx@yahoo.co.jp>
(2008-04-10T17:36:36)

[ ]
RE:33742 ブラウザクリック時のカレントフNo.33744
秀まるお2 さん 08/04/11 09:19
 
>  マクロヘルプの《TKInfo.dllの関数一覧》といふページに載せておい
> て戴ければ幸ひに存じます。

 すみません。この関数は後のバージョンで追加したんてすが、関数一覧に載せ
るの忘れてました。さっそく追加します。

 それと、他に、
 IsFolderPropAccountSpecify
 GetFolderPropName
 GetFolderPropEmail
 GetFolderPropOrganization

 等の関数も追加することにします。

[ ]
RE:33744 ブラウザクリック時のカレントフNo.33768
5HPONGO さん 08/04/13 00:51
 
秀まるお2さん

 まいど,お世話になつてをります。

>  それと、他に、
>  IsFolderPropAccountSpecify
>  GetFolderPropName
>  GetFolderPropEmail
>  GetFolderPropOrganization
>
>  等の関数も追加することにします。

 《フォルダ毎のテンプレート指定》の各プロパティに關してもお忘れ
なきやうお願ひ申し上げます。

 ほな。
--
5HPONGO
(2008-04-13T00:50:29+09:00)

[ ]
RE:33768 ブラウザクリック時のカレントフNo.33779
秀まるお2 さん 08/04/14 11:00
 
 GetTemplateReference関数があるんですけど、それでは不足でしょうか。

 「上位フォルダの設定を引き継ぐ」とかの状態までは取得出来ないんですけど。

 あと、「個別指定」になってる場合も取得出来ませんが、これもちょっと技術
的な理由がしって難しいのでわざと取得出来ない仕様になってしまってますが。

[ ]