テンプレートについてNo.00877
fu- さん 17/01/17 16:06
 
Subjectにメール作成時に居るフォルダ名を挿入する
テンプレートを作りたいのですが
そのような事は可能でしょうか お教えください。

[ ]
RE:00877 テンプレートについてNo.00878
秀まるお2 さん 17/01/17 16:46
 
 tkinfo.dllにCurrentFolderって関数があるのですが、例えばテンプレートで

  $(CurrentFolder)

 ってすると、残念ながら「未送信」ってフォルダ名が入るだけになってしまい
ます。

 ちょっと工夫して、

  $(ExecAtMain,CurrentFolder)

 とすると、うまくフォルダ名が入ります。しかし、ここで取得されるフォルダ
名はパス名になってしまってて、階層構造になってる場合にそれらが全部「\」
区切りで出てきてしまいます。

 親フォルダ名\子フォルダ名

 とか

 親親フォルダ名\親フォルダ名\子フォルダ名

 みたいな文字列になってしまいます。それでも良ければ、上記の命令でいけま
すけども。

 子フォルダ名のみにするならマクロを使うしか無いと思います。

 テンプレートでは、例えば

 !!!!folder!!!!

 と入れておいて、さらに$(ExecMacro,マクロ名)の命令にてマクロを自動起動
するようにした上で、そのマクロの中で、

    #x = x; #y = y;
    loaddll "tkinfo.dll";
    $folder = dllfuncstr("ExecAtMain", "CurrentFolder");
    #x = strrstr( $folder, "\\" );
    if( #x >= 0 ) {
        $folder = midstr( $folder, #x + 1 );
    }
    replaceallfast "!!!!folder!!!!", $folder;
    moveto #x, #y;

 のようにするとか。そういう作戦でどうでしょうか。

[ ]
RE:00878 テンプレートについてNo.00879
fu- さん 17/01/17 18:01
 
最初の方法 試してうめく行きました。
追加編集もしたいので その時に不要なフォルダ部の編集もアリかと
思っていますが、マクロ方法も試してみます。
どうも ありがとうございます。

[ ]
RE:00878 テンプレートについてNo.00880
fu- さん 17/01/18 17:07
 
テンプレートの文章内には、教えて頂いたマクロで
 !!!!folder!!!! と入れて 思うようにできました。
ありがとうございます。

Subject にも入れたいのですが、
$(SetHeader,Subject,!!!!folder!!!!)$- と入れてみたのですが
これでは不味いようで上手くいかず お教え頂けないでしょうか
宜しくお願い致します。

[ ]
RE:00880 テンプレートについてNo.00881
秀まるお2 さん 17/01/18 18:07
 
 マクロのreplaceallfastだと、メール本文しか置換しないです。

 ヘッダを置換するなら、

    moveto 0, -9999;
    replacedown "!!!!folder!!!!", $folder;

 みたいにするか、または、ヘッダにフォルダ名を書き入れるだけなら

    #n = dllfunc("SetHeader", "Subject", $folder);

 みたいにすれば、Subject:ヘッダが書き換えできます。

[ ]
RE:00881 テンプレートについてNo.00882
fu- さん 17/01/18 19:03
 
ヘッダにも本文にも入れたくて、思うようにできました。
助かります ありがとうございました。


[ ]