Clever-Excel-Forum

Normale Version: PDF erstellen, Eingaben löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallöchen,

setze mal in die Zeile ActiveSheet.ExportAsFixedFormat … einen Haltepunkt und schaue Dir den Inhalt der Variable Pfad beim Abbrechen an...
Sieht dann so aus wie im Anhang. Ich selber kann damit leider nix anfangen.

Hab auf "Abbrechen" gedrückt, dann kam das
Code:
Sub PDF_erstellen()

Dim Eingabewert As Byte

Eingabewert = MsgBox("Wurde das Teil vollständig gegprüft? /" & vbNewLine & "Has the part been  _
completely checked?", vbQuestion + vbYesNo, "Prüfung beenden? / End Checking?")

If Eingabewert = vbYes Then

MsgBox "PDF wird erstellt, Eingaben werden unwiderruflich gelöscht! /" & vbNewLine & "PDF will  _
be created and any inputs will be deleted!"

'
' PDF erstellen und Tabelle schließen - Makro
'

'
     Dim Pfad As String, Dateiname As String

Dateiname = Range("G6") & ".-QS_geprueft" & ".pdf"

Pfad = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
                                         FileFilter:="PDF-Datei (*.pdf),*.pdf")
                                         
If Pfad = "False" Then
     Application.DisplayAlerts = True
     Exit Sub
End If

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
         Pfad, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
         IgnorePrintAreas:=False, OpenAfterPublish:=True
       
ThisWorkbook.Close SaveChanges:=False

ElseIf Eingabewert = vbNo Then

MsgBox "Kein PDF erstellt. /" & vbNewLine & "No PDF created."

End If
   
End Sub
So habe ich den Code jetzt, abbrechen funktioniert. Aber will ich jetzt speichern, erscheint der Fehler "Laufzeitfehler 13" Typen unverträglich und markiert mir die Zeile mit If Pfad = "False" Then
Hallöchen,

mach mal statt
Dim Pfad As String
dann
Dim Pfad
und bei der Prüfung statt
If Pfad = "False" Then
dann
If VarType(Pfad) = 11 Then
Hallo,

man kann Pfad auch als String lassen und die Prüfung so vornehmen:
If CVar(Pfad) = False Then
Gruß Uwe
Ok, doch noch eine Frage:

Kann ich irgendwo im Code festlegen, dass es immer in quer in A3 gespeichert wird?
Hallöchen,

Du müsstest vorher die Ausrichtung einstellen, z.B. im Prinzip

Sheets("Tabelle1").PageSetup.Orientation = xlLandscape
Seiten: 1 2 3