Speichern trotz geöffneter Datei in Excel
Schritt-für-Schritt-Anleitung
Wenn Du eine Excel-Datei als PDF speichern möchtest, während sie von einem anderen Benutzer geöffnet ist, kannst Du den folgenden VBA-Code verwenden. Dieser Code behandelt den Fehler, der auftritt, wenn die PDF-Datei bereits geöffnet ist, und versucht es nach einer festgelegten Pause erneut.
Sub PDF_Speichern()
Dim wks As Worksheet
Dim sFileName As String
Dim datPause As Integer
On Error GoTo Fehler
Set wks = Worksheets("Monatsansicht")
sFileName = "U:\Groups\Test\Test\Plan.pdf"
wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFileName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox "PDF-Datei erfolgreich gespeichert"
Worksheets("Jahresplan Vorplanung").Activate
Fehler:
With Err
Select Case .Number
Case 0
Case 1004
datPause = 10 ' max 59 Sekunden
If MsgBox("Datei zur Zeit geöffnet - in " & datPause & " Sekunden neuer Speicherversuch?", _
vbOKCancel + vbQuestion, "PDF-Speichern") = vbOK Then
Application.OnTime Now + TimeSerial(0, 0, datPause), "PDF_Speichern"
End If
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub
Häufige Fehler und Lösungen
Fehler: PDF-Datei speichern nicht möglich
- Dieser Fehler tritt auf, wenn die Datei bereits geöffnet ist. Der obige Code umgeht dieses Problem, indem er eine Fehlermeldung abfängt und einen neuen Speicherversuch nach einer kurzen Pause startet.
Fehler: PDF überschreiben wenn geöffnet
- Wenn Du versuchst, die PDF-Datei zu überschreiben, während sie geöffnet ist, wird der Fehler ebenfalls angezeigt. Die Lösung ist, den oben genannten VBA-Code zu verwenden, um den Fehler zu behandeln.
Alternative Methoden
Eine alternative Methode, um eine Excel-Datei zu speichern, wäre das Speichern als HTML. Dies könnte dir helfen, die Datei zu speichern, auch wenn sie geöffnet ist. Hier ist ein Beispiel, wie Du den Code anpassen kannst, um als HTML zu speichern:
Worksheets("Monatsansicht").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlHtml, Filename:= _
"U:\Groups\Test\Test\Plan.html", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Worksheets("Jahresplan Vorplanung").Activate
Praktische Beispiele
Wenn Du die PDF-Datei mit Schreibschutz speichern möchtest, kannst Du den Schreibschutz im Windows Explorer aktivieren. Klicke mit der rechten Maustaste auf die Datei, wähle "Eigenschaften" und aktiviere das Kontrollkästchen "Schreibgeschützt". Dadurch wird sichergestellt, dass andere Benutzer nur Kopien der Datei öffnen können.
Ein weiterer Workaround ist, die PDF-Datei in Excel zu exportieren, während Du eine andere Datei speicherst. Dies kann durch die Verwendung der Application.Workbooks.Add
-Methode geschehen, um eine neue Arbeitsmappe zu erstellen und die Daten dort zu speichern.
Tipps für Profis
- Automatisierung: Verwende den
Application.OnTime
Befehl, um den Speichervorgang in regelmäßigen Abständen zu wiederholen, falls die Datei beim ersten Versuch nicht gespeichert werden konnte.
- Fehlerprotokollierung: Implementiere ein Fehlerprotokoll, um herauszufinden, wann und warum der Speichervorgang fehlschlägt. Dies kann dir helfen, häufige Probleme zu identifizieren.
FAQ: Häufige Fragen
1. Kann ich die PDF-Datei speichern, wenn sie von jemand anderem geöffnet ist?
Ja, indem Du den oben genannten VBA-Code verwendest, kannst Du den Fehler abfangen und einen neuen Speicherversuch nach einer kurzen Pause starten.
2. Wie kann ich die Datei als HTML speichern?
Du kannst den ExportAsFixedFormat
-Befehl anpassen, um den Dateityp auf xlHtml
zu ändern. Dies ermöglicht es dir, die Datei als HTML zu speichern, selbst wenn sie geöffnet ist.
3. Was passiert, wenn ich die PDF schreibgeschützt speichern möchte?
Du kannst den Schreibschutz für die Datei im Windows Explorer aktivieren. Dadurch wird sichergestellt, dass andere Benutzer nur eine Kopie der Datei öffnen können.