- ベストアンサー
フォルダ内の全フォルダ名を取得したい。
おはようございます。ちょっと教えてほしいことがあります。 VB6にて、あるフォルダ内にある複数のフォルダあります。 フォルダ名を全権取得したいのですが、全くできません。 フォルダ内のフォルダ名はどのように取得できるのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
大変失礼いたしました。 No2の方のご指摘の通り、ループ内で再度ディレクトリ名を取得する必要があります。 あとはフォルダを識別するたにGetAttrを使う必要もあるかも。 (No2の方の意見を尊重して) 下記のソースをご覧ください。
その他の回答 (2)
- braver_2004
- ベストアンサー率62% (20/32)
よーくソースを見てください。 strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。 質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。 loopの前に strDirName = Dir() と入れてみればループは終わります。 でもこれではFile名も取得してしまいます。 ではどうするか。 これ以上の説明は非常に長くなりそうなので、以下のサイトが参考になると思います。
お礼
ほんとにそうですね(>_<)申し訳ありません。ありがとうございます。
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のみしか 取得できません。どこかおかしいのでしょうか? お時間あれば考えてくだされば助かります。よろしくお願いします。
お礼
再度ありがとうございます。解決致しました。大変勉強になりました。 これを応用して、いろいろと勉強したいと思います。ありがとうございました。