Hallo Alle zusammen,
ich habe ein kleines Problem mit meiner VBA. Folgende Meldung erscheint, nachdem ich das VBA debugge bzw. den Makro ausführen lassen will:
"Run-time error '1004'
Document not saved. The document may be opened, or an error may have been encountered when saving"
Ich habe den Code kommentiert. Von daher sollte die Funktion dessen ersichtlich sein. Ich will also eine sheet konfigurieren und es mir als pdf abspeichern lassen. Das funktioniert ganz gut. Nur jetzt habe ich das VBA in eine andere Arbeitsmappe implementieren wollen. Den Code habe ich in ein Modul dergleichen Arbeitsmappe eingefügt. Will ich das VBA als Makro laufen lassen, dann tritt oben beschriebener Fehler auf.
Beim Debuggen wird mit dem kleinen gelgen Pfeil auf die Stelle "OpenAfterPublish:=False" verwiesen, d.h. über dem Kommentar "Code zum Anzeigen der PDF-Vorschau".
Habt ihr eine Idee, was ich falsch gemacht habe?
Sub PDF_Create()
' PDF_Create Macro
'Deklarierung von Variablen
Dim pfad As String
Dim name As String
pfad = Range("AI2").Value
name = Range("AI1").Value
Dim blatt As Worksheet
'Konfiguration der Datei, die als PDF gespeichert werden soll
With ActiveSheet.PageSetup
.PrintArea = Range("AI3").Value 'Auswahl der Range
.Orientation = xlPortrait '"xlLandscape" oder "xlPortrait"
.Zoom = Range("AI11").Value
.FitToPagesTall = Range("AI5").Value 'Sheet hinsichltich Höhe automatisch an Seite anpasssen
.FitToPagesWide = Range("AI6").Value 'Sheet hinsichtlich Breite automatisch an Seite anpassen
.CenterHorizontally = Range("AI12").Value
.CenterVertically = Range("AI13").Value
.PrintGridlines = Range("AI14").Value
End With
Worksheets("RELEASE").PageSetup.TopMargin = _
Application.CentimetersToPoints(Range("AI7").Value) 'Abstand zum oberen Seitenrand
Worksheets("RELEASE").PageSetup.BottomMargin = _
Application.CentimetersToPoints(Range("AI8").Value) 'Abstand zum unteren Seitenrand
Worksheets("RELEASE").PageSetup.RightMargin = _
Application.CentimetersToPoints(Range("AI9").Value) 'Abstand zum rechten Seitenrand
Worksheets("RELEASE").PageSetup.LeftMargin = _
Application.CentimetersToPoints(Range("AI10").Value) 'Abstand zum oberen Seitenrand
'Code für die Speicherung des Sheets als PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
pfad & name & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'Code zum Anzeigen der PDF-VOrschau
For Each blatt In Worksheets
If blatt.Visible = Range("AI4") Then
blatt.PrintPreview
End If
Next blatt
End Sub
FG
|