Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF speichern

PDF speichern
09.07.2014 21:42:40
Laser
Hallo Leute
Ich hab in der suche und bei Google div VBAs gefunden aber die sind extrem lang und übersteigen meine Kenntnisse. Jetzt meine Frage gibt es keinen einfachen Code um ein PDF mit Excel zu speichen, mit einem fixen namen mittels zellbezug und speicher Ort.
Ich habe Free PDF oder Adobe PDF als möglichkeit.
mfg
Laser

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF speichern
10.07.2014 07:54:31
Jürgen
Versuchs mal hiermit. Ist nicht auf meinem Mist gewachsen. Habe es selbst mal von irgendwo bekommen.
Public Sub Speichern_als_pdf_einzeln()
Application.ScreenUpdating = False
Dim wksSheet As Worksheet
Dim xlName As String
On Error GoTo Fin
With ThisWorkbook
For Each wksSheet In .Worksheets
xlName = Range("J1").Value
wksSheet.ExportAsFixedFormat 0, .Path & _
"\" & fncEXT(.Name) & "_" & xlName & "_" & wksSheet.Name
Next wksSheet
End With
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
Application.ScreenUpdating = True
End Sub
Function fncEXT(ByVal strName As String) As String
fncEXT = Mid(strName, 1, InStr(strName, ".") - 1)
End Function

Anzeige
Kein "ExportAsFixedFormat" unter Excel 2003
10.07.2014 08:13:06
Martin
Hallo Jürgen, hallo "Laser",
der Code von Jürgen läuft nicht unter Excel 2003, da "ExportAsFixedFormat" erst ab Excel 2007 unterstützt wird. Unter Excel 2003 klappt der PDF-Export am einfachsten mit dem PDF Creator (Freeware). Hier ein Link zu einem entsprechenden Beitrag:
https://www.herber.de/forum/archiv/1128to1132/1129991_mit_PDF_Creator_ein_Tabellenblatt_als_pdf_abspeich.html
Nur die Variablen für den Dateipfad "sPDFPath" und den Dateinamen "sPDFName" müssen noch angepasst werden. Wenn der Dateipfad aus einer Zelle (hier im Beispiel A1) ausgelesen werden soll, ersetze noch folgenden Code....
    '/// Change the output file name here! ///
sPDFName = "Test.pdf"
'sPDFPath = ActiveWorkbook.Path & Application.PathSeparator
sPDFPath = "C:\Temp\Repatest
...durch diesen Code:
    Dim sFile As String
sFile = Range("A1")
sPDFPath = Left(sFile, InStrRev(sFile, "\"))
sPDFName = Right(sFile, Len(sFile) - Len(sPDFPath))
Viele Grüße
Martin

Anzeige
AW: Kein "ExportAsFixedFormat" unter Excel 2003
12.07.2014 11:24:19
Laser
Hallo Martin
Sorry für die späte Antwort hatte ein bisschen Stress in der Firma.
Also ich hab den Code mal auf ein Commandbutton gelegt aber er bringt mir ne Fehlermeldung.
"Fehler beim Kompilieren: sub oder Function nicht definiert
Private Sub CommandButton4_Click()
'Sub PrintToPDF_Early(Blattname)
'Author       : Ken Puls (www.excelguru.ca)
'Macro Purpose: Print to PDF file using PDFCreator
' (Download from http://sourceforge.net/ _
projects/pdfcreator/)
'   Designed for early bind, set reference to PDFCreator
Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFName As String
Dim sPDFPath As String
Dim DefaultPrinter
'/// Change the output file name here! ///
sPDFName = "Test.pdf"
'sPDFPath = ActiveWorkbook.Path & Application.PathSeparator
sPDFPath = "C:\Users\Administrator\Dropbox\Firmen Sync-Server\Nachkalkulation, Berichte" '" _
C:\Temp\Repatest"
'Check if worksheet is empty and exit if so
If IsEmpty(Worksheets("Rechnungsbericht").UsedRange) Then Exit Sub
Set pdfjob = New PDFCreator.clsPDFCreator
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0    ' 0 = PDF
.cClearCache
.cPrinterStop = False '
End With
'Print the document to PDF
Worksheets("Rechnungsbericht").PrintOut copies:=1, ActivePrinter:="PDFCreator"
Break  
'Wait until the print job has entered the print queue
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
'Wait until PDF creator is finished then release the objects
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Sleep 250
Loop
MsgBox "PDF Dokument wurde erzeugt"
pdfjob.cClose
Set pdfjob = Nothing
End Sub

keine Ahnung was das sein könnte

Anzeige
AW: Kein "ExportAsFixedFormat" unter Excel 2003
14.07.2014 14:17:54
Martin
Hallo Laser,
bitte entferne das Break einfach. Ich habe keine Ahnung warum das Break in dem Beitrag gepostet wurde, denn es hat keinerlei Bedeutung. Excel kann mit dem Break nichts anfangen und denkt deshalb, dass es ein Verweis auf ein anderes Makro Namens "Break" sei, darum die Fehlermeldung "Sub oder Function nicht definiert".
Siehe http://www.excelguru.ca/content.php?161-Printing-Worksheets-To-A-PDF-File-(Using-Early-Binding)
Viele Grüße
Martin

AW: Kein "ExportAsFixedFormat" unter Excel 2003
15.07.2014 07:14:49
Laser
Hallo Martin
Jetzt hat er mir ne Fehlermeldung weiter unten bei Sleep 250 gebracht :-)
Aber ich hab nun den Code von dir auf der Guru Seite genommen und der funktioniert perfekt muss noch den code anpassen.
Damit er mir den Pfad und namen aus der tabelle nimmt aber sonnst müsste es Klappen
Vielen Dank für die Hilfe
mfg
Laser
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige