• ベストアンサー

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

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

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

  • ベストアンサー
noname#60992
noname#60992
回答No.3

大変失礼いたしました。 No2の方のご指摘の通り、ループ内で再度ディレクトリ名を取得する必要があります。  あとはフォルダを識別するたにGetAttrを使う必要もあるかも。 (No2の方の意見を尊重して) 下記のソースをご覧ください。

参考URL:
http://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips068.htm
satoshi777
質問者

お礼

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

その他の回答 (2)

回答No.2

よーくソースを見てください。 strDirNameはループ内で変更されているわけではないですよね。ループ前で取得されてから変更されていないのだから無限ループして当然です。 質問の回答を鵜呑みにするだけではなく自分でもよく考えましょう。スキルアップになりません。 loopの前に strDirName = Dir() と入れてみればループは終わります。 でもこれではFile名も取得してしまいます。 ではどうするか。 これ以上の説明は非常に長くなりそうなので、以下のサイトが参考になると思います。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html
satoshi777
質問者

お礼

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

noname#60992
noname#60992
回答No.1

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

satoshi777
質問者

補足

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

関連するQ&A

  • フォルダ内のサブフォルダ名やファイル名の取得

    VB初心者です。 あるフォルダ内のサブフォルダ名や数、ファイル名を取得したいのですが・・・ コントロールのDirListBoxを使用するか、Dir関数を使用したいのですが、上手くできません。 ご存知の方、教えてください

  • フォルダ内のファイル名を取得する

    windows 7なのですが、フォルダ内にあるファイル名をテキストとしてすべて一括で取得する方法はないでしょうか? また、フォルダの中にさらに複数のフォルダがあっても、上の階層のフォルダからすべてファイル名を取得する方法はないでしょうか? よろしくお願いいたします。

  • フォルダ名をテキストで取得したい

    フォルダの中にフォルダがあります。 このフォルダ名をテキストで取得したいのですが、何か良いフリーウェアを教えて下さい。 ファイル名取得や、そのファイル名が入っているフォルダ名の取得ができるフリーウェアは 持っているのですが、フォルダ名を取得するものの持ち合わせがありません。 使い勝手の良いものをお願いします。

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

    VBAで Filename = Dir(Path, vbNormal)を使用すると、ファイル名が取得されます。(VBA一部掲載) フォルダ内の直下のフォルダ名のみ取得したいときはどうすれば、よいでしょうか。 宜しくお願いします。

  • デスクトップのフォルダ名を取得したい

    VB6で作ったプログラムのインストール時に、デスクトップにショートカットを貼り付けています。 このショートカットを、プログラム終了時にデスクトップから削除したいのですが、方法がわかりません。 OSは98、NT、2000、XPのすべてに対応する必要があります。 現在ログインしているユーザ環境でのデスクトップフォルダ名を取得するにはどうしたら良いのでしょうか?

  • エクセル2007VBAでフォルダ名とファイル名を

    取得したいのです。 あるフォルダ内にマクロのファイルと、複数のサブフォルダ及びその中の複数ファイルがあり 添付画像の通り、サブフォルダ名とファイル名、拡張子を取得したいのです。 どのようにすれば良いでしょうか、、ご教示下さい。

  • Excel VBAでフォルダー・ファイル名の取得

    いつもお世話になります。 Excelで、決められたディレクトリーの下にあるフォルダー名とファイル名を取得して Excelに表示したいのですが、調べたのですがよくわかりませんですた。 決められたディレクトリーは固定で、その下には複数フォルダーがあります。 よろしくお願い致します。

  • フォルダ内のファイル名の取得

    開発環境 VB2008 少し前にVB始めたばかりです。 簡単なプログラム作成を行っているのですが フォルダ指定のダイアログで指定した、フォルダの中にあるファイル名のリストをリストボックスなどに出力したいのですが、コードがわかりません。 色々似たような質問などがあったのですが、理解不足か知識不足なのか使いこなせなさそうなので、新しく質問させていただきました。 わかりやすく教えていただけるとうれしいです。 よろしくおねがいいたします。

  • ローカルのフォルダー名やファイル名の取得

    ajaxでローカルのフォルダー名やファイル名の取得やそのパスの取得はできますか?

    • ベストアンサー
    • AJAX
  • ExcelVBAでサブフォルダ名などを取得したい

     ExcelVBAで、Dドライブ内の特定のフォルダ(D:\My Documents等)の中にある全てのフォルダ名やファイル名を取得したいのですが、方法が分かりません。  Dドライブのすぐ下にあるフォルダはDirで取得できるようなのですが、サブフォルダ名が取得できないのです。  具体的にどのように書いたらよいかお教えいただけるとうれしいです。  よろしくお願いします。

専門家に質問してみよう