投稿日 | : 2005/11/29(Tue) 01:31 |
投稿者 | : kazuki |
Eメール | : |
URL | : |
タイトル | : ツリービューにフォルダとファイルを表示するには? |
現在ブラウザを作成しているのですが、お気に入りを表示する際ツリービューでやっています。
それでツリービューにお気に入りのフォルダとurlファイルを表示させたいのですが、階層構造にさせ
ることができません。プログラムはこちらのサイト様の"指定フォルダー以下の全ファイルを列
挙"の
サンプルプログラムを参考にさせていただきました。
下にプログラムを書かせていただきますが、このプログラムを実行するとお気に入りに入っている全
てのファイルがフルパスで表示され、フォルダはまた別で表示されます。
(aaaというフォルダにbbbというurlファイルがあったらaaa\bbbとaaaという感じです)
開発ソフトはVB6.0でXPHomeをで作っています。
よろしくお願いします。
Dim FolderNum As Integer 'フォルダ用のキー
Dim FileNum As Integer 'なんらかのフォルダに入ってるURLのキー
Dim FavoriteFileNum As Integer 'お気に入りに直に入ってるURL
Dim Flg As Boolean 'フォルダを経由しているかどうか
Private Sub Command1_Click()
Dim Fso As New FileSystemObject
FavoriteBox.Nodes.Clear
'指定のフォルダを指定
Call sFolderSearch2(Fso.GetFolder(CreateObject("WScript.Shell").SpecialFolder
s
("Favorites")), False)
Set Fso = Nothing
End Sub
Private Sub sFolderSearch2(ByVal myFolder As Object, Flg)
Dim mySubFolder As Folder
Dim myFile As File
Dim Node1 As Node
'現在のフォルダ内のファイルを取得
For Each myFile In myFolder.Files
If Flg = False Then
FavoriteFileNum = FavoriteFileNum + 1
Set Node1 = FavoriteBox.Nodes.Add(, , "A" & FavoriteFileNum,
myFile)
Else
FileNum = FileNum + 1
Set Node1 = FavoriteBox.Nodes.Add("B" & FolderNum, Child, &qu
ot;C" & FileNum,
myFile)
End If
Next
With myFolder
'サブフォルダ数を取得
If .SubFolders.Count > 0 Then
For Each mySubFolder In .SubFolders
FolderNum = FolderNum + 1
Set NodX = FavoriteBox.Nodes.Add(, , "B" & FolderNum, mySubFo
lder)
'サブフォルダがある場合再帰的に繰り返す
Call sFolderSearch2(mySubFolder, True)
Next
End If
End With
Set myFile = Nothing
Set mySubFolder = Nothing
End Sub