-PR-
  • すぐに回答を!
  • 質問No.2463093
解決
済み

フォルダ内の全フォルダ名を取得したい。

  • 閲覧数5602
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 43% (95/216)

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

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

  • 回答No.3

大変失礼いたしました。

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

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

(No2の方の意見を尊重して)
下記のソースをご覧ください。
お礼コメント
satoshi777

お礼率 43% (95/216)

再度ありがとうございます。解決致しました。大変勉強になりました。
これを応用して、いろいろと勉強したいと思います。ありがとうございました。
投稿日時 - 2006-10-10 19:10:03
  • ありがとう数0
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1

strDirName = Dir("C:\path",vbDirectory) do while strDirName <> "" debug.print strDirName loop のようなかんじで、どうですか? ...続きを読む
strDirName = Dir("C:\path",vbDirectory)
do while strDirName <> ""
debug.print strDirName
loop

のようなかんじで、どうですか?
補足コメント
satoshi777

お礼率 43% (95/216)

考えてくださって、ありがとうございます。
Dim strDirName As String
strDirName = Dir("C:\user", vbDirectory)
Do While strDirName <> ""
Debug.Print strDirName
Loop
具体的にはこのように書いたところ、延々とuserのみしか
取得できません。どこかおかしいのでしょうか?
お時間あれば考えてくだされば助かります。よろしくお願いします。
投稿日時 - 2006-10-10 12:02:12
  • ありがとう数0
  • 回答No.2
レベル8

ベストアンサー率 62% (20/32)

よーくソースを見てください。 strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。 質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。 loopの前に strDirName = Dir() と入れてみればループは終わります。 でもこれではFile名も取得してしまいま ...続きを読む
よーくソースを見てください。
strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。
質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。

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

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

お礼率 43% (95/216)

ほんとにそうですね(>_<)申し訳ありません。ありがとうございます。
投稿日時 - 2006-10-10 19:08:15
  • ありがとう数0
  • 回答数3
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


-PR-

ピックアップ

-PR-
ページ先頭へ