Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

erstellen log.File beim verschieben von

erstellen log.File beim verschieben von
09.04.2023 14:51:16
Byte Master

Hallo liebe Gemeinde,

auch nach längerem Suchen hab ich leider nix gefunden, wie ich eine Protokolldatei erstelle, sofern ich mit VBA Dateien (.pdf) von einem Ordner in einen anderen Ordner verschieb/kopiere.
Das log.File sollte die Datei die verschoben wird enthalten und da aktuelle Datum mit Uhrzeit. Die beiden letzten Punkte würde ich auch so hinbekommen, nur eben nicht das erstellen dieses log.Files.

..schon mal an die rauchenden Köpfe einen Dank.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erstellen log.File beim verschieben von
09.04.2023 16:47:35
Oberschlumpf
Hi,

ich würde es so machen:

'hier erst mal dein Code zum Verschieben einer PDF-Datei
'...
Open ThisWorkbook.Path & "\logfile.txt" For Append As #1
    Print #1, NameVonPDFdatei & " " & Date & " " & Time
Close
Anstelle von NameVonPDFdatei musst DU natürlich den echten Namen der PDF-Datei eintragen, die du gerade verschoben hast.

Mein Code, beginnt ab Open..., erstellt, wenn txt-Datei noch nicht vorhanden, im selben Verzeichnis, in dem deine Excel-Datei mit all dem Code gespeichert ist, die Textdatei mit dem Namen logfile.txt und fügt immer in die nächste Zeile den Namen der PDF-Datei inklusive Datum + Uhrzeit von dem Moment des Verschiebens ein.

Hilfts?

Ciao
Thorsten


Anzeige
AW: erstellen log.File beim verschieben von
09.04.2023 17:45:36
Byte Master
Hey Thorsten,

erst mal vieln Dank.
Ich bin jetzt nicht so die Oberleuchte in VBA. Deshalb hau ich mal den Code hier rein. Macht sich sicher eifacher für's Verständnis. Der Ordner enthält mehrere Dateien im pdf-Format.

Sub verschieben ()
'Dateien verschieben nach gesendet
Dim QuelleS$, ZielS$, OrdnerS$, crSFile As Object
Dim m As Integer
Set crSFile = CreateObject("Scripting.FileSystemObject")
m = Month(Now)
QuelleS = "C:\bla_ordner\*.pdf"
ZielortS = "C:\bla_ordner\gesendet\"

    If Dir(QuelleS) = "" Then
Else

'prüfen welcher Monat
If m = 1 Then
        ZielS = ZielortS & "01_Januar"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 2 Then
        ZielS = ZielortS & "02_Februar"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 3 Then
        ZielS = ZielortS & "03_März"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 4 Then
        ZielS = ZielortS & "04_April"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 5 Then
        ZielS = ZielortS & "05_Mai"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 6 Then
        ZielS = ZielortS & "06_Juni"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 7 Then
        ZielS = ZielortS & "07_Juli"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 8 Then
        ZielS = ZielortS & "08_August"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 9 Then
        ZielS = ZielortS & "09_September"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 10 Then
        ZielS = ZielortS & "10_Oktober"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 11 Then
        ZielS = ZielortS & "11_November"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing
ElseIf m = 12 Then
        ZielS = ZielortS & "12_Dezember"
        crSFile.CopyFile QuelleS, ZielS, True
        crSFile.DeleteFile QuelleS
        Set crSFile = Nothing

End If
End If
End Sub
Ich Dummerchen hab vergessen, dass ein Anderes Makro mit einer Schleife früft ob noch eine Datei vorhanden ist und solange das Script durchläuft bist alle Dateien verschoben wurden.
Vllt wäre eine "Pfannenlösung" möglich. Ich mach VBA erst seit ein paar Wochen.

LG Karsten


Anzeige
AW: erstellen log.File beim verschieben von
10.04.2023 10:16:55
Oberschlumpf
Hi Karsten,

noch einfacher für's Verständnis wäre, wenn du per Upload eine Bsp-Datei und deinem Code hier zeigst.

Ciao
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige