Liebe/-r Experte/-in,
ich habe folgendes Problem ich soll mit Visual Basic 6 ein Programm schreiben das einen Ordner überwacht im dem xml Dateien automatisch angelegt werden.
Das Programm soll wenn eine oder mehrere xml-Dateien vorhanden sind eine Meldung mache z.B. per Email.
Ich weiß wie ich prüfe ob eine bestimmet Datei (z.B. test.xml) im Ordner ist. Aber leider haben die xml-Datein immer andere Dateinamen.
Gibt es einen Befehl in VB6 mit dem ich nur prüfen kann ob *.xml Dateien in einem Ordner sind?
Gruß
Joachim
Beispiel für das Auslesen eines Verzeichnisses über Filesystem Object.
Wenn du in VB bist, kannst du mit FSO noch viel mehr machen. Files, Directory, Attribute, … Schau dir einfach mal das Objekt bzw. die Klasse an.
'Set fso = CreateObject(„Scripting.FileSystemObject“)
'Set fls = CreateObject(„Scripting.Dictionary“)
Dim fso As New Scripting.FileSystemObject
Dim fo As Scripting.Folder
Dim file As Scripting.file
Dim fls As New Scripting.Dictionary
If fso.FolderExists(Basispfad) Then
Set fo = fso.GetFolder(Basispfad)
’ hole alle files
For Each file In fo.Files
If Left(file.Name, Len(Pattern)) = Pattern Then
’ passende Datei gefunden
fls.Add cnt, file.Name
cnt = cnt + 1
End If
Next
End If
Hallo Joachim,
das Problem läßt sich mit Bordmitteln lösen. Der DIR-Befehl unterstützt Wildcards, d.h. du gibst einfach *.xml beim Suchen an. Hier ist ein Beispiel:
’ Mit folgendem Code werden alle XML-Dateien eines Ordners aufgelistet
Dim cFile As String
cFile = Dir(„C:*.XML“) ’ Alle XML-Dateien im Verzeichnis C:\ ausgeben
Do While cFile „“ ’ Wiederholen bis cFile=""
Debug.Print cFile
cFile = Dir ’ Aufruf der Funktion ohne Parameter!!
Loop
Ich hoffe, dass nützt Dir etwas.
Gruß
Meinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Leg Dir ein Fileobjekt mit entsprechendem Filepattern an, dann werden nur XML Dateien gelistet. Nun kannst Du einfach den Zustand des Objekts zB. mit einem Timer überwachen…
Eine weitere Möglichkeit ist hier zu finden
http://www.codeuu.com/wiki/DirGuard_deLuxe
Danke genau das habe ich gesucht.
Gruß Joachim
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]