Nur für 32Bit Office Versionen
In diesem Bsp hatte ich gezeigt wie ihr mittels der vbex32.dll Dateien in eine MS-Access DB eingelesen werden können.
Nun war aus den Kommentaren zu entnehmen das diese Lösung Schwierigkeiten mit großen Dateimengen hat.
Also habe ich selbst eine DLL geschrieben, die wie ich hoffe, dieses Manko behebt.
Gerade unter A2007 wo die"Application.FileSearch-Methode" fehltist diese DLL ein wichtiges Hilsmittel.
Es sind noch ein paar andere Sachen in dieser DLL integriert, zu denen ich noch komme.
Voraussetzungen:
Das Bsp ist ab A00 lauffähig.
Getestet unter WinXP, Win Vista 32Bit und Win7 64Bit
Die "tk_FileFunc.dll" ist eine VB6 ActiveX-DLL deshalb muss diese im System registriert werden.
Das übernimmt das Setup des Downloads.
Bei manueller Weitergabe muss die "tk_FileFunc.dll" mittels regsvr32.exe im System registriert werden.
1 2 3 4 5 6 7 8 9 10 |
Private Sub cmd_Folder_Click() Dim cFD As New cls_FileDialog Dim sFolder As String With cFD .DialogTitle = "Bitte Startverzeichnis wählen" .ShowFolder sFolder = .FileName If .FileName = "" Then Exit Sub End With End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Private Sub cmd_Folder_Click() Dim cFD As New cls_FileDialog Dim sFile As String With cFD .DialogTitle = "Datei öffnen" .DefaultDir = "C:\" .DefaultExt = "*.mdb" .Filter1Text = "Access-Datenbanken" .Filter1Suffix = "*.mdb" .ShowOpen sFile = .FileName If .FileName = "" Then Exit Sub End With End Sub |
Die Klasse cls_ListFiles dient zum Einlesen der Dateien.
In der Bsp-DB wird ein Listview mit dem Ergebnis gefüllt. Ihr könnt aber
1 2 3 4 5 |
Private Sub cmd_Folder_Click() Dim cLFs As New cls_ListFiles Dim x x = cLFs.ListFiles("D:\Daten", "*.*",True) End Sub |
MsgBox "Es wurden " & cLFs.Col_File.count & " Dateien nach den Kriterien gefunden"
Private Sub cmd_Folder_Click() Dim sFolder As String Dim sFilter As String Dim x Dim i As Long With cFD .DialogTitle = "Bitte Startverzeichnis wählen" .ShowFolder sFolder = .FileName If .FileName = "" Then Exit Sub End With With oListView .ListItems.Clear .Refresh End With If IsNull(Me.txt_Filter) Then sFilter = "*.*" Else sFilter = Me.txt_Filter End If x = cLFs.ListFiles(sFolder, sFilter, Me.chk_SubFolder) MsgBox "Es wurden " & cLFs.Col_File.count & " Dateien nach den Kriterien gefunden" For i = 1 To cLFs.Col_File.count Set objListItem = oListView.ListItems.Add(, "a" & i, cLFs.Col_File(i)) Next i End Sub
Nur für 32Bit Office Versionen
Bsp-DB zur Benutzung der tk_FileFunc.dll
tk_FileList.mdb
Ähnliche Artikel
Weiterlesen...