wie kann ich es erreichen, dass nur Dateinen in die ´Treeview(Ordner) eingelesen welche auch vom Webbrowser geöffnet werden können?.
Danke!
Gruß
Sigi
So erstelle ich mein Treeview
Private Sub tvDatei_NodeClick(ByVal Node As MSComctlLib.Node)
Dim sDatei As String
'Pfad und Dateiangabe
sDatei = tvDatei.SelectedItem.Key
'Prüfen ob Ordner oder Datei
If Mid(Node.Key, Len(Node.Key) - InStr(StrReverse(Node.Key), ".") + 2) = "" Then
lblDatei.Caption = ""
'Browser aus
WebBrowser1.Navigate "about:blank"
Else
'Datei laden
lblDatei.Caption = sDatei
WebBrowser1.Navigate sDatei
End If
End Sub
Private Sub UserForm_Initialize()
Dim oFSO As Object
Dim oFolder As Object
Dim oNode As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
'Pfadangabe
Set oFolder = oFSO.GetFolder(ThisWorkbook.Path & "\" & "Muster\")
'Treeview anlegen
Set oNode = Me.tvDatei.Nodes.Add(, tvwChild, oFolder.Path, oFolder.Path)
ladeFolder oFolder, oNode
End Sub
Private Sub ladeFolder(ByRef oFolder As Object, ByRef oParentNode As Object)
Dim oChildFolder As Object
Dim oChildNode As Object
Dim oFSO As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
'Baumstruktur anlegen
For Each oChildFolder In oFolder.SubFolders
'prüfen ob Ordner Inhalt hat, wenn leer dann nicht anzeigen
If oFSO.GetFolder(oChildFolder).Size = 0 Then GoTo Step1
Set oChildNode = Me.tvDatei.Nodes.Add(oParentNode.Key, tvwChild, oChildFolder.Path, _
oChildFolder.Name)
ladeFolder oChildFolder, oChildNode
Step1:
Next
'Dateien einlesen
ladeFiles oFolder, oParentNode
End Sub
Private Sub ladeFiles(ByRef oFolder As Object, ByRef oParentNode As Object)
Dim oFile As Object
'Dateien einlesen
For Each oFile In oFolder.Files
Me.tvDatei.Nodes.Add oParentNode.Key, tvwChild, oFile.Path, oFile.Name
Next
End Sub