-PR-

解決済みの質問

質問No.2463093
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (0人が追加しました)
回答数3
閲覧数4966
フォルダ内の全フォルダ名を取得したい。
おはようございます。ちょっと教えてほしいことがあります。
VB6にて、あるフォルダ内にある複数のフォルダあります。
フォルダ名を全権取得したいのですが、全くできません。
フォルダ内のフォルダ名はどのように取得できるのでしょうか?
よろしくお願いします。
投稿日時 - 2006-10-10 10:49:40

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

回答No.3
大変失礼いたしました。

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

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

(No2の方の意見を尊重して)
下記のソースをご覧ください。
投稿日時 - 2006-10-10 15:37:11
この回答を支持する
(現在0人が支持しています)
お礼
再度ありがとうございます。解決致しました。大変勉強になりました。
これを応用して、いろいろと勉強したいと思います。ありがとうございました。
投稿日時 - 2006-10-10 19:10:03

ベストアンサー以外の回答 (2)

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

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

これ以上の説明は非常に長くなりそうなので、以下のサイトが参考になると思います。
投稿日時 - 2006-10-10 13:46:35
この回答を支持する
(現在0人が支持しています)
お礼
ほんとにそうですね(>_<)申し訳ありません。ありがとうございます。
投稿日時 - 2006-10-10 19:08:15
回答No.1
strDirName = Dir("C:\path",vbDirectory)
do while strDirName <> ""
debug.print strDirName
loop

のようなかんじで、どうですか?
投稿日時 - 2006-10-10 11:17:55
この回答を支持する
(現在0人が支持しています)
補足
考えてくださって、ありがとうございます。
Dim strDirName As String
strDirName = Dir("C:\user", vbDirectory)
Do While strDirName <> ""
Debug.Print strDirName
Loop
具体的にはこのように書いたところ、延々とuserのみしか
取得できません。どこかおかしいのでしょうか?
お時間あれば考えてくだされば助かります。よろしくお願いします。
投稿日時 - 2006-10-10 12:02:12
この質問は役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
もっと聞いてみる

関連するQ&A

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

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic
-PR-
-PR-

特集

正しい方法で健康的な綺麗を手に入れよう!

お城、ボート、ツリーハウス、ユニークな物件満載!

患者さんやご家族、それぞれに合ったゴールと道筋を。

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic
-PR-

ピックアップ

-PR-