Dir関数でフォルダの中を表示するには?

解決


清明  2002-12-22 01:24:26  No: 76725

何度もすみません。
お気に入りのフォルダの中を一括表示したいのですが、お気に入り(c:\WINDOWS\favorites)内のファイル名は所得できても、フォルダ名を所得できません。

Private Sub Command1_Click()
    Dim strTargetDir As String
    Dim strDirItem As String
    strTargetDir = "C:\WINDOWS\Favorites\"
    strDirItem = Dir(strTargetDir)
    Do While strDirItem <> ""
        Print strDirItem
        strDirItem = Dir
    Loop
End Sub

こんな感じでコーディングしてみたのですけれど・・・。
よろしくお願いします。


たかみちえ  URL  2002-12-22 02:32:04  No: 76726

Dir関数では、たしかフォルダは検索できないと思います。
(記憶あいまいですけど)
APIのFindFirstFileなどのAPIを使います。


魔界の仮面弁士  2002-12-22 04:09:43  No: 76727

Dir関数の第2引数を指定しましょう。


Say  2002-12-22 07:32:43  No: 76728

Microsoft Scripting Runtimeの
FileSystemObjectオブジェクトのFolderオブジェクトの
SubFoldersコレクションをFor Eachでまわす、
という手もあります。

    Dim fso As New Scripting.FileSystemObject
    Dim objFolder As Scripting.Folder
    Dim objSubFolder As Scripting.Folder
    Set objFolder = fso.GetFolder("C:\WINDOWS\Favorites\")
    List1.Clear
    For Each objSubFolder In objFolder.SubFolders
        List1.AddItem objSubFolder.Name
    Next


魔界の仮面弁士  2002-12-22 08:35:25  No: 76729

なお、お気に入りのフォルダのパスは、
  MsgBox CreateObject("WScript.Shell").SpecialFolders("Favorites")
で取得する事ができます。


清明  2002-12-24 00:22:28  No: 76730

すみません、ありがとうございました!
なかなか関数のいい本が見つからなくて困ってるのですが、本腰入れて探してきます。
CGIを作る程度のPerlのリファレンス本みたいに安いのがあればいいのだけど、
VBのりふぁれんす凡は高すぎ。。。


ゆの吉  2003-01-23 00:48:54  No: 76731

すみません知っておられんましたら教えて下さいm(_ _)m
通常ネットワーク越しのフォルダ参照は、Dir(\\abcsrv01\qwe...\)で解決できるのですが、\\abcsrv01という名前ではなく直接IPアドレスを入力して参照する方法はあるのでしょうか?


Say  2003-01-23 01:01:41  No: 76732

それは、例えば
Dir(\\192.168.1.1\qwe...\)
で参照できなかったということでしょうか?


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

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






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