| Hallo Peter!
vielen Dank für Deine Antwort. Ich habe jetzt eine "Zeitschleife" über 10 Sekunden eingebaut . Bei kürzeren Zeitabständen bekam ich weiterhin die Fehlermeldung 'Zugriff verweigert'.
Ich bin mir nur nicht sicher, ob diese Lösung auch noch funktioniert, wenn mehrere Benutzer mit der Anwendung im Netz arbeiten. Da können 10 Sekunden schnell mal um sein. Von daher wäre mir eine Lösung lieber, bei der ich nicht von festen Zeiteinstellungen abhängig bin.
--------------------------------------------------------------------
Das war mein bisheriger Versuch (bitte die Syntax zu entschuldigen). Hier wurde solange eine Schleife druchlaufen, bis die Datei vom PDF-Drucker in das Verzeichnis gelegt wurde. Aber das reichte nicht, um die Fehlermeldung 'Zugriff verweigert' auszuschalten.
zaehler = 0
nochmal:
zaehler = zaehler + 1
On Error GoTo nochmal
antwort = (fso.FileExists(pdfPfad & stDocName & ".pdf"))
If antwort = False Then GoTo nochmal
--------------------------------------------------------------------
Interessehalber hier der Vorgang des Umbenennens:
fso=scripting.Filesystemobject
pdfPfad=Pfad in dem die PDF-Dateien abgelegt werden
pdfname=Name der Datei, wie sie endgültig heißen soll
stDocName = Datei, die vom PDF-Drucker erstellt wird (=Berichtsname)
If fso.FileExists(pdfPfad & pdfname & ".pdf") = True Then fso.deletefile (pdfPfad & pdfname & ".pdf")
'Debugger zeigt folgende Zeile an
fso.moveFile pdfPfad & stDocName & ".pdf", pdfPfad & pdfname & ".pdf"
DoCmd.Close acReport, stDocName
Danke schonmal für Deine Hilfe.
Schöne Grüße
peregrina |