総ありがとう数 累計4,308万(2014年11月24日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
satoshi777

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

Aみんなの回答(全3件)

質問者が選んだベストアンサー

  • 2006-10-10 15:37:11
  • 回答No.3
noname#60992

大変失礼いたしました。

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

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

(No2の方の意見を尊重して)
下記のソースをご覧ください。
お礼コメント
再度ありがとうございます。解決致しました。大変勉強になりました。
これを応用して、いろいろと勉強したいと思います。ありがとうございました。
投稿日時 - 2006-10-10 19:10:03
  • 同意数0(0-0)
  • ありがとう数0

その他の回答 (全2件)

  • 2006-10-10 11:17:55
  • 回答No.1
noname#60992

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:12
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2006-10-10 13:46:35
  • 回答No.2
よーくソースを見てください。
strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。
質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。

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

これ以上の説明は非常に長くなりそうなので、以下のサイトが参考になると思います。
お礼コメント
ほんとにそうですね(>_<)申し訳ありません。ありがとうございます。
投稿日時 - 2006-10-10 19:08:15
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数3
  • 気になる数0
  • ありがとう数1
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

その他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ