Pdf Dateiabgleich nach Excelliste
10.05.2022 13:50:17
Andy_69
Ich habe ein Problem der der Auswertung vorhandener Pdf-Dateien und benötige etwas Hilfe.
Ich habe eine Excel-Tabelle mit 6 Spalten [A bis F] und als VBA eine Schleife gebaut (siehe unten).
Spalte_A: 91806145016-2 (Rechten 8 Zeichen werden benötigt für Dateifindung)
Spalte_B: IS200 (IH-Stufe, benötigt für Dateifindung)
Spalte_C: Werk München (wird nicht benötigt)
Spalte_D: 08.04.2022 (Datum, benötigt für Dateifindung, aber Formatänderung)
Spalte_E: 145 (Bauart, benötigt für Pfad [BR 145]
Spalte_F: Ergebnis "Ja" bzw "Nein"
Jetzt möchte ich aus diesen feststellen, welche Pdf-Datei schon abgelegt ist oder nicht. Ergebnis in Spalte [F] mit "ja bzw nein".
Die abgelegten Dateien sind so aufgebaut: "2022.03.05 GN 145016-2 (IS200)"
Mein Problem ist, das alles mit "Nein" beantwortet wird, obwohl teilweise Dateien genau in den Format vorhanden sind.
Ich habe es mal mit einer Testdatei in txt-Format getestet, und die fand er. Also doch gar nicht so verkehrt. Evtl. liegt es am Datum, oder?
VBA-Code...
Private Sub Dateiprüfung_Click()
Dim sBA As String
Dim sFile As String
Dim sReiter As String
Dim sPath As String
Dim sFz As String
Dim sIH As String
Dim lngRow As Long
Dim sMax As Long
sPath = "\\bku\db\DB_005\Glw_04\L.RBA_42\Abteilung\Tfz_E_Lok\E-Lok_Dokumente und Protokolle\" 'Pfad im Gruppenlaufwerk
sReiter = ActiveSheet.Name 'Reitername
sMax = Sheets(sReiter).Range("L3") 'Anzahl DS
If MsgBox("Wollen Sie wirklich die Dateiprüfung starten?" & vbCrLf & vbCrLf & _
"Alle Daten werden ggf. überschrieben und können nicht wieder zurückgeholt werden!" _
, vbYesNo + vbQuestion, "Dateiprüfung?") = vbYes Then
For lngRow = 5 To sMax
sBA = "BR " & Sheets(sReiter).Cells(lngRow, 5).Value & "\" 'Bauartordner
sFz = Right(Sheets(sReiter).Cells(lngRow, 1).Value, 8) 'Fahrzeugordner
sIH = " (" & Sheets(sReiter).Cells(lngRow, 2).Value & ")" 'IH-Stufe
sFile = Format(Sheets(sReiter).Cells(lngRow, 4).Value, "YYYY.MM.DD") & " GN " & sFz & sIH 'Dateiname
If Dir(sPath & sBA & sFz & "\" & sFile) "" Then
'Datei vorhanden
Sheets(sReiter).Cells(lngRow, 6).Value = "ja"
Sheets(sReiter).Cells(lngRow, 5).Value = Date
Else
'Datei nicht vorhanden
Sheets(sReiter).Cells(lngRow, 6).Value = "nein"
End If
Next lngRow
Else
MsgBox "Prüfung durch Anwender abgebrochen!", vbExclamation, "Abbruch..."
End If
End Sub
Ich hoffe es kann mir einer helfen.Viele Grüße und Danke im vorraus