電子書籍の厳選無料作品が豊富!

おはようございます。ちょっと教えてほしいことがあります。
VB6にて、あるフォルダ内にある複数のフォルダあります。
フォルダ名を全権取得したいのですが、全くできません。
フォルダ内のフォルダ名はどのように取得できるのでしょうか?
よろしくお願いします。

A 回答 (3件)

大変失礼いたしました。



No2の方のご指摘の通り、ループ内で再度ディレクトリ名を取得する必要があります。 

あとはフォルダを識別するたにGetAttrを使う必要もあるかも。

(No2の方の意見を尊重して)
下記のソースをご覧ください。

参考URL:http://www.geocities.co.jp/SiliconValley/4805/vb …
    • good
    • 0
この回答へのお礼

再度ありがとうございます。解決致しました。大変勉強になりました。
これを応用して、いろいろと勉強したいと思います。ありがとうございました。

お礼日時:2006/10/10 19:10

よーくソースを見てください。


strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。
質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。

loopの前に
strDirName = Dir()
と入れてみればループは終わります。
でもこれではFile名も取得してしまいます。
ではどうするか。

これ以上の説明は非常に長くなりそうなので、以下のサイトが参考になると思います。

参考URL:http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
    • good
    • 0
この回答へのお礼

ほんとにそうですね(>_<)申し訳ありません。ありがとうございます。

お礼日時:2006/10/10 19:08

strDirName = Dir("C:\path",vbDirectory)


do while strDirName <> ""
debug.print strDirName
loop

のようなかんじで、どうですか?

この回答への補足

考えてくださって、ありがとうございます。
Dim strDirName As String
strDirName = Dir("C:\user", vbDirectory)
Do While strDirName <> ""
Debug.Print strDirName
Loop
具体的にはこのように書いたところ、延々とuserのみしか
取得できません。どこかおかしいのでしょうか?
お時間あれば考えてくだされば助かります。よろしくお願いします。

補足日時:2006/10/10 12:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!