ファイルとフォルダを区別するには?

解決


AAA  2008-01-07 10:11:17  No: 138538  IP: 192.*.*.*

ファイルとフォルダで行う処理を変更したいのですが、ファイルとフォルダをどのように指定すればいいのかわかりません。

どのようにしたいかというと、データベースから1件ずつ読み込みその読み込んだものが、

if ファイルだったら
  ファイルの処理
elseif フォルダだったら
  フォルダの処理
endif

という感じにしたいのですが、どのようにしたら良いのでしょうか?

編集 削除
大吉末吉  2008-01-07 10:20:36  No: 138539  IP: 192.*.*.*

VBのバージョンが不明ですが・・・

基本的にファイル(フォルダ)の属性を調べて、「Directory属性」の有無をチェックすればよいのでは?


例えば、VB.NETなら、
「FileSystemInfo.Attributes プロパティ」
http://msdn2.microsoft.com/ja-jp/library/system.io.filesysteminfo.attributes(VS.80).aspx

編集 削除
AAA  2008-01-07 10:28:44  No: 138540  IP: 192.*.*.*

回答ありがとうございます!!
早めに知りたいと思っていたので凄く助かります。

バージョンはVisual Basic 2005 Express Editionです。

今、教えていただいたサイトを拝見してきたのですが、あまり理解できませんでした。ファイルやフォルダの属性を調べるというのは、どのようにしたら分かるのでしょうか?

編集 削除
Blue  2008-01-07 10:52:08  No: 138541  IP: 192.*.*.*

>あまり理解できませんでした
とは具体的にどうわからないのでしょうか?
ちなみに、MSDNはそのクラスやメソッド等のリファレンスです。
(いうなれば取扱説明書。)

>プロパティ値
のリンク先を見てください。


というか、サンプルにそのまま載っているやん。。。
(Directory→Windowsでのフォルダのこと)

編集 削除
大吉末吉  2008-01-07 10:53:53  No: 138542  IP: 192.*.*.*

例えば・・・
変数pathにチェックしたいファイル(orフォルダ)のパスが設定されていたとして・・・
------------------------------------------
        Dim f As System.IO.FileInfo

        f = New System.IO.FileInfo(path)
        If (f.Attributes And IO.FileAttributes.Directory) = IO.FileAttributes.Directory Then
            MsgBox("Directory")
        Else
            MsgBox("File")
        End If
-------------------------------------------
とか・・・

編集 削除
AAA  2008-01-09 10:27:56  No: 138543  IP: 192.*.*.*

教えていただいたことを参考にしながらなんとか区別することができました。
ありがとうございました。
また、なにかありましたら、よろしくお願いいたします。

編集 削除