Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ExportAsFixedFormat ohne Speichern

Forumthread: ExportAsFixedFormat ohne Speichern

ExportAsFixedFormat ohne Speichern
02.05.2019 11:44:03
Sven
Hallo zusammen,
ich nutze diesen Befehl zur PDF-Erstellung:
.ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=bolShow
Klappt. Aber: Ich kann entweder den Parameter Filename füllen und damit einen Speicherpdaf angeben oder ich lasse es und es wird standardmäßig im aktuellen Ordner gespeichert.
Ich möchte die PDF-Datei aber nur anzeigen und dem Anwender überlassen, ob und wo er die ablegt. Bisher mülle ich den Standardordner hal zu.
Hat jemand eine Idee?
Danke und Grüße
Sven
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ExportAsFixedFormat ohne Speichern
02.05.2019 12:46:31
Torsten
Hallo Sven,
das koenntest du z.B. mit dem Application.GetSaveAsFilename loesen:

Dim FileSelected as String
FileSelected = Application.GetSaveAsFilename(InitialFileName:="", filefilter:="PDF files (*.pdf) _
, *.pdf, Title:="Speichern als PDF")
If Not FileSelected  "False" Then
MsgBox "Vorgang abgebrochen"
Exit Sub
End If
If FileSelected  "False" Then
ThisWorkbook.ExportAsFixedFormat xlTypePDF, fileName:=""
End If
End Sub
Gruss Torsten
Anzeige
AW: ExportAsFixedFormat ohne Speichern
02.05.2019 12:57:07
Torsten
Sorry kleiner Fehler:
anstatt

fileName:=""
mach bitte:

fileName:=FileSelected

AW: ExportAsFixedFormat ohne Speichern
02.05.2019 14:29:54
Sven
Danke
AW: ExportAsFixedFormat ohne Speichern
02.05.2019 13:01:50
UweD
Hallo
als workarround: Erst speichern, mit anschließender Anzeige der pdf
und dann die Frage, ob die Datei bestehen bleiben soll; sonst direkt wieder löschen
Sub tt()
    Dim Pfad As String, Datei As String, Behalten
    Dim Dlg As FileDialog
    
    Pfad = "X:\Temp\Test\" 'Startpfad 
    Datei = "Mappe1.pdf"
    
    
    Set Dlg = Application.FileDialog(msoFileDialogFolderPicker) 'Verzeichnis wählen 
        Dlg.InitialFileName = Pfad
    If Dlg.Show = True Then
        Pfad = Dlg.SelectedItems(1) & "\"
    
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=Pfad & Datei, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
        
        Behalten = MsgBox("Datei behalten", vbYesNo + vbQuestion)
        
        If Behalten = vbNo Then
            Kill Pfad & Datei
        End If
    End If
End Sub
LG UweD
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

ExportAsFixedFormat in Excel ohne Speichern


Schritt-für-Schritt-Anleitung

Um eine PDF-Datei mit ExportAsFixedFormat in Excel zu erstellen, ohne sie automatisch zu speichern, kannst du den folgenden VBA-Code verwenden:

Sub ExportPDFWithoutSaving()
    Dim FileSelected As Variant

    ' Wähle den Speicherort für die PDF-Datei
    FileSelected = Application.GetSaveAsFilename(InitialFileName:="", filefilter:="PDF files (*.pdf), *.pdf", Title:="Speichern als PDF")

    ' Überprüfe, ob der Benutzer den Vorgang abgebrochen hat
    If FileSelected = False Then
        MsgBox "Vorgang abgebrochen"
        Exit Sub
    End If

    ' PDF exportieren
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FileSelected, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

In diesem Beispiel wird der Benutzer aufgefordert, einen Speicherort für die PDF-Datei auszuwählen. Der Befehl ActiveSheet.ExportAsFixedFormat wird dann verwendet, um die PDF zu erstellen.


Häufige Fehler und Lösungen

Fehler: PDF wird nicht erstellt

  • Stelle sicher, dass der Filename-Parameter korrekt gesetzt ist und nicht leer bleibt.

Fehler: Der Vorgang wird abgebrochen

  • Überprüfe, ob der Benutzer tatsächlich einen Speicherort ausgewählt hat oder den Vorgang abgebrochen hat.

Alternative Methoden

Wenn du die PDF-Datei zuerst speichern und dann zur Anzeige öffnen möchtest, kannst du folgenden Code verwenden:

Sub ExportAndDisplayPDF()
    Dim Pfad As String
    Dim Datei As String
    Dim Behalten As Integer
    Dim Dlg As FileDialog

    Pfad = "X:\Temp\Test\" ' Beispielpfad
    Datei = "Mappe1.pdf"

    Set Dlg = Application.FileDialog(msoFileDialogFolderPicker)
    If Dlg.Show = True Then
        Pfad = Dlg.SelectedItems(1) & "\"

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=Pfad & Datei, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True

        Behalten = MsgBox("Datei behalten?", vbYesNo + vbQuestion)

        If Behalten = vbNo Then
            Kill Pfad & Datei
        End If
    End If
End Sub

Hier wird die PDF zuerst gespeichert und anschließend wird der Benutzer gefragt, ob die Datei beibehalten werden soll.


Praktische Beispiele

  1. PDF ohne Speichern: Verwende den ersten Code, um eine PDF-Datei zu erstellen, ohne einen festen Speicherort anzugeben.

  2. PDF speichern und anzeigen: Nutze den zweiten Code, um die Datei zu speichern und dem Benutzer die Möglichkeit zu geben, sie zu löschen.

  3. Einbindung von Optionen: Modifiziere die IgnorePrintAreas und IncludeDocProperties, um die Export-Optionen anzupassen.


Tipps für Profis

  • Nutze Application.ScreenUpdating = False, um das Flackern des Bildschirms während des Exports zu vermeiden.
  • Experimentiere mit verschiedenen Quality-Einstellungen wie xlQualityMinimum oder xlQualityStandard, um die Dateigröße zu optimieren.
  • Stelle sicher, dass du alle relevanten Parameter in ExportAsFixedFormat gründlich verstehst, um die bestmöglichen Ergebnisse zu erzielen.

FAQ: Häufige Fragen

1. Wie kann ich die PDF automatisch öffnen? Um die PDF nach dem Export automatisch zu öffnen, setze den Parameter OpenAfterPublish auf True.

2. Was ist der Unterschied zwischen xlTypePDF und xlTypeXLSX? xlTypePDF exportiert die Datei als PDF, während xlTypeXLSX das Excel-Dokument im Excel-Format speichert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige