Axel Richter: Wichtig: VBA-Script!? Dateiprüfung?

Beitrag lesen

Hallo,

ich habe eine excel und in der 1. spalte stehen die kundennummern und in der 2. die kundenberater.

das makro kopiert die pdfs ("kundenummer".pdf) in den ordner der kundenberater ...

bricht dies aber ab, weil in der excel auch kundennummern vorhanden sind, wo es keine pdfs gibt.

wie könnte man dies prüfen?

habe auch schon etwas rumprobiert:

datname = Cells(lngZ, 1) & ".pdf"
    If Dir(datname) <> "" Then

es gab aber keinen erfolg, da ich in diesem gebiet nicht ernsthaft ahnung habe.

günstig wäre vielleicht, auch wie eine messagebox, die sagt, welche kundennummer nicht vorhanden ist ...

Such mal in der VBA-Hilfe nach "On Error". Damit kannst Du eine Fehlerbehandlung für Laufzeitfehler implementieren.

Sub Makro1()
'
' Makro1 Makro
' Makro am 11.01.06 von **** aufgezeichnet
'

Dim lngZ As Long
Dim strQuellpfad As String, strZielpfad As String
Dim datname As String

'Fehlerbehandlung abschalten
   On Error GoTo 0

'Schleife über die Zellen:
For lngZ = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    'Quellpfad zusammenbasteln:
    strQuellpfad = "C:\test" & Cells(lngZ, 1) & ".pdf"
    'Zielpfad zusammenbasteln:
    strZielpfad = "C:\test" & Cells(lngZ, 2) & "" & Cells(lngZ, 1) & ".pdf"

'Fehlerbehandlung aktivieren
       On Error GoTo mark

'Kopieren:
    FileCopy strQuellpfad, strZielpfad
Next

'ohne Fehler ist hier Schluss
   Exit Sub
   'bei Fehler
   mark:
       MsgBox ("C:\test" & Cells(lngZ, 1) & ".pdf" & " ist nicht vorhanden.")
       'setze in der Zeile nach der Fehlerzeile fort
       Resume Next
   End Sub

viele Grüße

Axel