起動時に同じフォルダで起動するためのマNo.07645
short long さん 21/01/30 15:46
 
秀まるお2 様

short long です。
毎度たいへんお世話になっております。

起動時に同じフォルダで起動するためのマクロについての確認です。
以下のように記載しています。

loaddll "TKInfo.dll";
#n = dllfunc("SelectFolder", "", "テスト");
endmacro;

SelectFolder関数の2つ目のパラメータは、フォルダ名を指定できますが、このフォ
ルダは、
   受信、送信済み、未送信、草稿、ゴミ箱
または、上記各フォルダの下の階層のフォルダで、
   受信\\テスト
のように指定するフォルダに限定されますでしょうか?

つまり、現在のアカウント直下のテストというフォルダに対して、上記のようにマク
ロを記載しても、前回終了時点のフォルダに留まり、起動時に"テスト"フォルダに移
動してくれません。

以前は、アカウント直下の自分で付けた名称のフォルダを指定できていましたが、最
近設定しようとしたら、上記の限定フォルダーしかマクロが利きません。

よろしくご回答のほどお願いします。

[ ]
RE:07645 起動時に同じフォルダで起動するNo.07647
秀まるお2 さん 21/01/30 22:10
 
 アカウント直下のユーザー様作成フォルダですが、ちょっと内部的な事情で特殊な
指定の仕方をしないといけないです。

 アカウント直下のユーザー様作成フォルダは、

 "User\\フォルダ名"

 のように指定しないといけないです。たとえばアカウント直下に「テスト」フォル
ダがある場合なら、

    loaddll "TKInfo.dll";
    #n = dllfunc("SelectFolder", "", "User\\テスト");

 のように指定すればいいはずになります。

 ちなみに

    loaddll "tkinfo.dll";
    message dllfuncstr("CurrentFolder");

 のようなマクロを作って実行すると、マクロの中でのフォルダ名がどうなってるか
表示されます。

[ ]
RE:07647 起動時に同じフォルダで起動するNo.07648
short long さん 21/01/31 03:13
 
秀まるお2 様

short long です。

説明いただき、どうもありがとうございました。
ご説明でマクロでどう書けば良いのか合点がいきました。

エクスプローラーで見ると、秀丸メールのアカウントの下には、「User」というフォ
ルダでまとめられているので、 "User\\テスト" と書くんですね。

実際にエクスプローラーでそのフォルダを確認すると、私の場合は、以下の場所にな
ります。
  C:\Users\(私のユーザー名)\Documents\TuruKameData\(アカウント名)\User\
テスト
ちなみに、秀丸メールのメニューの 設定/フォルダ毎の設定/使用状況 にある「場所
:」にも同じ表示がありますね。

「受信」や「送信済み」、「未送信」など私の先の投稿に書いた各フォルダは以下の
ように、アカウント直下のフォルダになりますね。
  C:\Users\(私のユーザー名)\Documents\TuruKameData\(アカウント名)\受信

秀丸メール マクロヘルプの以下の説明は読んでいましたが、「User」って何だろ
う?と理解できず(PC上の各ドライブレター下のUser名と混同)、マクロでどうかけ
ば良いか理解できていませんでした。
--------
注意事項
アカウント直下にユーザーが作成されたフォルダは、秀丸メール内部では、アカウン
ト直下ではなく、アカウント直下の「User」というフォルダの配下に存在しているよ
うな扱いとなっています。マクロ上でもそれがそのまま適用されます。
--------

以下のパラメータ2の記載も受信フォルダの下に作成する例でしたので、分からなく
なっていました。
--------
ユーザーが作成したフォルダの場合は、例えば「受信\テスト」のように指定します。
マクロの中で固定の文字列で指定する場合は、"受信\\テスト"のように指定します。
--------

読み直すと理解できましたが、「内部的な事情」というより、
---
秀丸メールのフォルダ構成上、アカウント直下のユーザー作成フォルダは、「受信」
フォルダなどとは並列で、「User」というフォルダでまとめられていますので、
 "User\\フォルダ名"
のように指定します。例えばアカウント直下に「テスト」フォルダがある場合なら、
    loaddll "TKInfo.dll";
    #n = dllfunc("SelectFolder", "", "User\\テスト");
のように指定します。
---
という具合な説明であれば、疑問の余地なしでした。

どうもありがとうございました。

[ ]
RE:07648 起動時に同じフォルダで起動するNo.07650
秀まるお2 さん 21/01/31 11:55
 
 おっしゃる通り、SelectFolder関数のヘルプにサンプルがあればわかりやすかった
と思います。

 "User\\テスト"を指定する例を追加してみます。

 SelectFolder関数以外にもフォルダを指定する関数を探してサンプル追加してみま
す。

[ ]