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