「あとで送信」でメールをアクティブにしNo.40605
styth さん 11/05/29 06:51
 
 新規メールを作成します。
 作成後、エディタ上で「あとで送信」を実行します。
 メール本体に行った時に、このメールが未送信フォルダ上で、アクティブにな
るようにはできないでしょうか?
 よろしくお願いします。

(上記の件、No.40553と関連するかも知れませんが、同じような現象が再現する
のを待っていますが、まだ現れません。β版をバージョンアップして以来、再
現していないような気がします。)

[ ]
RE:40605 「あとで送信」でメールをアクテNo.40609
秀まるお2 さん 11/05/30 09:27
 
 マクロとしては、SendLater関数を呼び出してからSync関数呼び出しすればよ
くて、サンプルマクロとしては以下のようになります。

    loaddll "tkinfo.dll";
    $macro = dllfuncstr("SendMacro");
    if( $macro != "" ) {
        #n = dllfunc("SetCancel", 0);
        execmacro $macro;
        #n = dllfunc("GetCancel");
        if( #n != 0 ) {
            endmacro;
        }
    }
    #n = dllfunc("SendLater");
    if( #n == 0 ) {
        endmacro;
    }
    #n = dllfunc("Sync");
    exit;


> (上記の件、No.40553と関連するかも知れませんが、同じような現象が再現する
> のを待っていますが、まだ現れません。β版をバージョンアップして以来、再
> 現していないような気がします。)

 最近のβ版で直した所の関係でこのバグも直ってくれたのかもしれません。

[ ]
RE:40609 「あとで送信」でメールをアクテNo.40613
styth さん 11/05/30 19:31
 
$s = dllfuncstr("Bypass_GetWindowText", hidemaruhandle(0) );
if( leftstr( $s, 6 ) == "あとで" ) {
    #n = dllfunc( "ExecAtMain", "SelectFolder", "", "未送信" );
}

 これを、「あとで送信/今すぐ送信時」に自動起動するようにしてあります。
 この場合、どう直せば良いんでしょうか?
 サンプルマクロを掲載して頂きましたが、応用が利かなくて、すみません。

[ ]
RE:40609 「あとで送信」でメールをアクテNo.40614
styth さん 11/05/30 20:08
 
        #n = dllfunc("GetCancel");
        if( #n != 0 ) {
            endmacro;
        }

 ここを見ていてわからなかったので、ヘルプを見たら、

SetCancel/GetCancel関数(TKInfo.dll)のヘルプには、

> GetCancel関数は、SetCancelで設定された値を取り出します。パラメータはあり
>ません。
>返り値(数値型)
> 返り値に意味はありません。
 との記述がありますが、GetCancel関数には、意味があるんではないでしょうか?

[ ]
RE:40614 「あとで送信」でメールをアクテNo.40615
秀まるお2 さん 11/05/30 20:34
 
 僕の作ったマクロは、「あとで送信」の代わりに実行する用になってしまって
ました。GetCancelを使ってるのはそれの関係でした。

 「マクロ・マクロ登録・自動起動・あとで送信/今すぐ送信時」の所に登録す
る用のマクロということであれば、

    loaddll "tkinfo.dll";
    $s = dllfuncstr("Bypass_GetWindowText", hidemaruhandle(0) );
    if( leftstr( $s, 6 ) == "あとで" ) {
        #n = dllfunc("SendLater");
        if( #n == 0 ) {
            endmacro;
        }
        #n = dllfunc("Sync");
        #n = dllfunc("SetCancel", 1);
        exit;
    }

 でいけると思います。(こちらでテストした限りはそれでうまくいった)

[ ]
RE:40615 「あとで送信」でメールをアクテNo.40616
styth さん 11/05/30 21:54
 
>        #n = dllfunc("SetCancel", 1);
 こちらでやってみましたら、上記の行をコメントにしたら、うまくいきました。

 No.40614で、申し上げたいのは、

> 返り値に意味はありません。
 との記述がありますが、SetCancel関数には、意味がないかもしれませんが、
GetCancel関数にも、意味がない様に解釈できます。
 ということで、ヘルプを訂正して頂きたいということです。
 違っていたら、すみません。

[ ]
RE:40616 「あとで送信」でメールをアクテNo.40617
秀まるお2 さん 11/05/30 23:20
 
 GetCancelのヘルプについて、理解出来ました。たしかにヘルプおかしいです。

 修正させていただきます。

[ ]
RE:40617 「あとで送信」でメールをアクテNo.40619
styth さん 11/05/31 00:36
 
> GetCancelのヘルプについて、理解出来ました。たしかにヘルプおかしいです。
> 修正させていただきます。
 よろしくお願いします。

[ ]