Clever-Excel-Forum

Normale Version: Tabelle als PDF Speichern Makro fehler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Freunde,

kann mir jemand bei diesem Code helfen:
Leider erstellt er auch, wenn ich auf Abbrechen klicke eine PDF Datei mit dem Dateinamen FALSCH.pdf,
das soll er nicht tun.

Sub aktivesBlattToPdf()
Dim strName As String
strName = Application.GetSaveAsFilename( _
   fileFilter:="pdf Files (*.pdf), *.pdf")
If strName <> "" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        strName, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False
End If
End Sub
Hallöchen,

wenn die falsche Datei FALSCH heißt, muss die den falschen Namen auch irgendwoher bekommen - vorzugsweise als Ergebnis Deiner Aktion.
Gehe den Code schrittweise durch und prüfe dabei den Inhalt der Variable strName. Dann kommst Du sicher auch drauf und ergänzt Deine IF-Bedingung Smile
(18.02.2018, 14:32)schauan schrieb: [ -> ]Hallöchen,

wenn die falsche Datei FALSCH heißt, muss die den falschen Namen auch irgendwoher bekommen - vorzugsweise als Ergebnis Deiner Aktion.
Gehe den Code schrittweise durch und prüfe dabei den Inhalt der Variable strName. Dann kommst Du sicher auch drauf und ergänzt Deine IF-Bedingung Smile

Danke für deine rasche Antwort, aber könntest du bitte etwas näher darauf eingehen?
Hallöchen,

in Deinem Code steht

strName = Application.GetSaveAsFilename( _
fileFilter:="pdf Files (*.pdf), *.pdf")

If strName <> "" Then

Wenn Du strName mit der rechten Maustaste anklickst, dann bekommst Du im Kontextmenü der Maus u.a. "Überwachung hinzufügen". Wenn Du das anklickst, sollte unter dem Code im Überwachungsfenster strName stehen.

Dann gehst Du den Code schrittweise mit der taste F8 durch, drückst bei Speichern unter auf abbrechen und schaust Dir die Überwachung an.

In Deinem If schaust Du nur, ob Du keinen Leerstring hast. Wenn in strName nach dem Abbrechen hingegen irgendwas steht, müsstest Du darauf prüfen.
Jawoll vielen Dank dir, habe den Fehler gefunden.

Für alle anderen

If strName <> "" Then

zwischen die "" muss ein Falsch

If strName <> "Falsch" Then

dann funktioniert es tadellos.