Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
26.12.2017 11:13:05 |
Søren |
|
|
Ordner durchsuchen und Dateien auslesen |
28.12.2017 01:31:58 |
Ben |
|
|
|
28.12.2017 08:08:34 |
Soeren |
|
|
|
28.12.2017 08:50:04 |
Søren |
|
|
|
30.12.2017 10:42:58 |
Ben |
|
|
|
30.12.2017 13:39:02 |
Gast15212 |
|
|
Von:
Ben |
Datum:
28.12.2017 01:31:58 |
Views:
581 |
Rating:
|
Antwort:
|
Thema:
Ordner durchsuchen und Dateien auslesen |
Hallo,
eine mögliche Lösung schaut so aus...
Modul:
Sub searchStart()
Dim myFileSearch As New clsFilesSearch
Dim Files() As String
Files = myFileSearch.SearchFiles("C:\Temp\", ".txt$")
Stop
End Sub
Klasse clsFileSearch:
Option Explicit
Private Enum myStatus
Found = 1
notExists = 2
Error = 3
End Enum
Public Function SearchFiles(ByVal sPath As String, searchFilename As String) As String()
Dim oFSO As Object
Dim oFolder As Object
Dim oSubFolder As Object
Dim oFile As Object
Dim Out() As String
Dim iPos As Integer
Dim myResult As myStatus
iPos = -1
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sPath)
For Each oSubFolder In oFolder.subfolders
'Alle Dateien auflisten
For Each oFile In oSubFolder.Files
myResult = match(oFile.Name, searchFilename)
If myResult = myStatus.Found Then
iPos = iPos + 1
ReDim Preserve Out(iPos)
Out(iPos) = oSubFolder.Path & "\" & oFile.Name
ElseIf myResult = myStatus.Error Then
Exit For
End If
Next oFile
If myResult = myStatus.Error Then Exit For
Next oSubFolder
Set oFSO = Nothing
Set oFile = Nothing
Set oFolder = Nothing
Set oSubFolder = Nothing
SearchFiles = Out
End Function
Private Function match(ByRef Text As String, ByRef Search As String) As myStatus
On Error GoTo Err_Handler
Dim myRegEx As Object
Set myRegEx = CreateObject("VBScript.RegExp")
With myRegEx
.IgnoreCase = True
.Global = True
.Pattern = Search
If myRegEx.Test(Text) Then
match = myStatus.Found
Else
match = myStatus.notExists
End If
End With
Err_Exit:
Exit Function
Err_Handler:
Err.Clear
match = myStatus.Error
Resume Err_Exit
End Function
Im Modul wird das Suchbegriff als Regular Expression angegeben.
Die gefundenen Dateien werden im Array zurückgegeben.
LG, Ben
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
26.12.2017 11:13:05 |
Søren |
|
|
Ordner durchsuchen und Dateien auslesen |
28.12.2017 01:31:58 |
Ben |
|
|
|
28.12.2017 08:08:34 |
Soeren |
|
|
|
28.12.2017 08:50:04 |
Søren |
|
|
|
30.12.2017 10:42:58 |
Ben |
|
|
|
30.12.2017 13:39:02 |
Gast15212 |
|
|