マクロによるフォルダの存在確認No.01819
ひろ さん 01/01/17 14:36
 
 秀まるおさん今日は、吉永です。
 通常のフォルダに関しては、HomeDir と exitfile で確認することが出来
ます。しかしながら、「全般的な設定」→「フォルダ」→「表示するフォル
ダ」の各々の項目を OFF にした場合、実際にフォルダ自体は存在するので、
exitfile が使えません。保留となっているフォルダ作成の関数追加の要望
と共に、検討頂ければ幸いです。

[ ]
RE:01819 マクロによるフォルダの存在確認No.01836
きいろいまふらあ さん 01/01/18 00:25
 
ひろさん(ですよね?(^^;)こんにちは。

純粋に興味本位の質問です。

素朴な疑問なのですが、何をなさりたいのですか?
表示OFFにできるフォルダの名前は固定ですよね?
existfileで用が足りない理由は???

[ ]
RE:01836 マクロによるフォルダの存在確No.01843
ひろ さん 01/01/18 11:52
 
 きいろいまふらあさん今日は、ひろです。
> 素朴な疑問なのですが、何をなさりたいのですか?
 「ゴミ箱」は頻繁に開けるので、今のところ、
loaddll "tkinfo.dll";
if(!result) {
  message "DLLロードに失敗";
  endmacro;
}

if(!dllfunc("SelectFolder",dllfuncstr("CurrentAccount"),"ゴミ箱"))
  goto error;
goto ENDING;

error:
  message "DLL 関数の処理に失敗しました。";

ENDING:
  freedll;
  endmacro:
というマクロを使っています。しかし「ゴミ箱」が空になっている場合、
dllfunc のエラーになりますが、このエラーが存在しない (表示されていな
い) 為のエラーか解りません。。またホーム・ディレクトリに「ゴミ箱」の
フォルダ自体は存在したままなので、existfile の返り値は常に 1 となり
判断できません。

 目で「ゴミ箱」が存在するか確認してからマクロを実行すれば良いのです
が、ついつい確認せずに実行してしまうですm(_|_)m。

[ ]
RE:01843 マクロによるフォルダの存在確No.01847
きいろいまふらあ さん 01/01/18 12:32
 
ひろさんこんにちは。
「ゴミ箱を常に表示」しない設定で使われているということですよね?

> if(!dllfunc("SelectFolder",dllfuncstr("CurrentAccount"),"ゴミ箱"))

> というマクロを使っています。しかし「ゴミ箱」が空になっている場合、
> dllfunc のエラーになりますが、このエラーが存在しない (表示されていな
> い) 為のエラーか解りません。

エラーというのは「dllfunc("SelectFolder") が 0を返す」のことですよね?

で、それが、「ゴミ箱が空で表示されていないため」なのか、
それとも他の理由(例えば、何かの拍子に「ゴミ箱」フォルダを
ファイルシステム的に削除してしまったとか)によるものなのかを
区別したい、と。

前者なら「ゴミ箱にはメールがありません」と表示し、後者なら
「なんかおかしいです」と表示させたいとか、ま、なんでもいいですけど、
処理を分けたい、ということですか。ふむふむ。

> フォルダ自体は存在したままなので、existfile の返り値は常に 1 となり
> 判断できません。

existfileが1を返せば前者、じゃなきゃ後者って判断じゃ、いかんのですかね?
つまり「ゴミ箱」というフォルダが存在するのに、SelectFolder が失敗する
のは、ゴミ箱が空で表示されてないからである、と。

…と、またもや主義に反し勝手に話をすすめてしまいました。(^^;
何か変なこと書いてたらご指摘ください。

[ ]
RE:01847 マクロによるフォルダの存在確No.01848
ひろ さん 01/01/18 15:12
 
 きいろいまふらあさん今日は、ひろです。
> existfileが1を返せば前者、じゃなきゃ後者って判断じゃ、いかんのですかね?
 殆どの場合はこの処理で大丈夫です。ただ SelectFolder の返り値は、
> 選択に成功すると1、失敗すると0を返します。
なので、「表示されているのに、本当に失敗したときどうするのか?」とい
う問題が残ります。

[ ]
RE:01848 マクロによるフォルダの存在確No.01849
きいろいまふらあ さん 01/01/18 15:37
 
> なので、「表示されているのに、本当に失敗したときどうするのか?」とい
> う問題が残ります。

あー、そこまで考えるのですか。
でもそれじゃ、(鶴亀的に)フォルダが存在するかどうかが分かっても
意味がないんじゃ???

#本当の失敗って、ゴミ箱には1通以上のメールが存在し、フォルダも
#表示されているのに SelectFolder で移動できなかった、ってことですよね?
#誤解を恐れずに言い換えれば「バグ」ですよね?

ゴミ箱が表示されているかいないかを調べるとか、
あるいはゴミ箱フォルダに存在するメールの数を調べるとか、
そーいうことをしないといけないんじゃ?

ひょっとして要望されているのは前者(フォルダが表示されているか否か)を
調べる関数、ってことですか?

[ ]
RE:01849 マクロによるフォルダの存在確No.01851
ひろ さん 01/01/18 17:18
 
 きいろいまふらあさん今日は、ひろです。
> #本当の失敗って、ゴミ箱には1通以上のメールが存在し、フォルダも
> #表示されているのに SelectFolder で移動できなかった、ってことですよね?
> #誤解を恐れずに言い換えれば「バグ」ですよね?
 バグとはいいきれないですね。特に Windows95 系ではメモリー管理が甘
いので、OS 自体が不安定になっていることも考えられます。

> ひょっとして要望されているのは前者(フォルダが表示されているか否か)を
 そういうことです(^^)。

[ ]
RE:01851 マクロによるフォルダの存在確No.01880
きいろいまふらあ さん 01/01/19 10:21
 
「ゴミ箱」フォルダに「ゴミ箱YYYYMM.txt」ファイルが存在するか調べるとか。
あ、このファイル名は可変なのか。そりゃさすがに調べたくないですねぇ。
#自分専用ならやるかもしれん。

> > #本当の失敗って、ゴミ箱には1通以上のメールが存在し、フォルダも
> > #表示されているのに SelectFolder で移動できなかった、ってことですよね?
> > #誤解を恐れずに言い換えれば「バグ」ですよね?
>  バグとはいいきれないですね。特に Windows95 系ではメモリー管理が甘
> いので、OS 自体が不安定になっていることも考えられます。

「バグ」はやはり語弊がありました。
「鶴亀のバグ」と読まれても仕方ない書き方でしたね。
責任の所在がどこ(鶴亀、OS、その他)にあるかはともかくとして、
本来発生しちゃいけない不測の事態、ということが言いたかったです。

OSの不安定もですし、ファイルシステムが壊れてるとか、ディスクに
物理的な障害があるとか、そーいうのも含めてです。

> > ひょっとして要望されているのは前者(フォルダが表示されているか否か)を
>  そういうことです(^^)。

そのフォルダに移動しなくても、任意のフォルダに含まれるメールの数を
取り出せたら、用途が広がるような。
ステータスバーへの表示の件もあるし、内部情報的には整っている(あとは
取り出しのインターフェースを残すのみ)とか勝手に思っています。

[ ]
RE:01880 マクロによるフォルダの存在確No.01898
ひろ さん 01/01/19 15:18
 
 きいろいまふらあさん今日は、ひろです。
> OSの不安定もですし、ファイルシステムが壊れてるとか、ディスクに
> 物理的な障害があるとか、そーいうのも含めてです。
 こういった広い意味での「不具合」という意味ですね。

> そのフォルダに移動しなくても、任意のフォルダに含まれるメールの数を
> 取り出せたら、用途が広がるような。
 そうですね。現在は MailCountAll しか無いですからね。

[ ]