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

解決


AAA  2008-01-07 19:11:17  No: 138538

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

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

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

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


大吉末吉  2008-01-07 19:20:36  No: 138539

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

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

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


AAA  2008-01-07 19:28:44  No: 138540

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

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

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


Blue  2008-01-07 19:52:08  No: 138541

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

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

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


大吉末吉  2008-01-07 19:53:53  No: 138542

例えば・・・
変数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 19:27:56  No: 138543

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加