Registriert seit: 19.09.2017
Version(en): 2016
Hallo,
ich möchte gerne eine Excel Tabelle per VBA in PDF ausgeben, dies funktioniert mit diesem Code auch soweit.
Code:
Sub PDFDatei()
'Tabelle als PDF speichern
Dim DateiName As String
DateiPfad = ActiveWorkbook.Path
DateiName = DateiPfad & ThisWorkbook.Name & ".pdf"
ThisWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=DateiName, Quality:=xlQualityStandard, OpenAfterPublish:=True
End Sub
Allerdings würde ich die Datei gerne in dem selben Ordner wie die Excel Datei speichern. Momentan ist wird die PDF noch im Ordner davor abgelegt. Einen Haken gibt es aber noch an der Sache, die Excel Datei soll einen variablen Namen besitzen, also kann frei benannt werden. Habt ihr irgendeine Idee wie das funktionieren könnte?
Ich freue mich über Hilfe!
Gruß Lukas
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallöchen,
Zitat:Allerdings würde ich die Datei gerne in dem selben Ordner wie die Excel Datei speichern.
Momentan ist wird die PDF noch im Ordner davor abgelegt.
ich sehe Dein Problem nicht. Die PDF-Datei hat doch eine andere Endung als irgendeine Exceldatei.
Warum sollte das also nicht möglich sein?
Zitat:die Excel Datei soll einen variablen Namen besitzen
In VBA gibt es die Möglichkeit, die Datei mit
SaveAs ... zu speichern. Du arbeitest doch mit VBA.
Dann sollte auch das kein unlösbares Problem sein.
Oder habe ich was falsch verstanden?
00202
Nicht registrierter Gast
Hallo, :19:
hier mal drei Möglichkeiten: :21:
Code:
Option Explicit
Sub Main_1()
Dim DateiName As String
DateiName = ThisWorkbook.Path & Application.PathSeparator & Left(ThisWorkbook.Name, _
(InStrRev(ThisWorkbook.Name, ".") - 1))
ThisWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=DateiName, _
Quality:=xlQualityStandard, OpenAfterPublish:=True
End Sub
Sub Main_2()
Dim DateiName As String
' Dateiname aus Tabelle1 - Zelle A1
DateiName = ThisWorkbook.Path & Application.PathSeparator & _
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value
ThisWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=DateiName, _
Quality:=xlQualityStandard, OpenAfterPublish:=True
End Sub
Sub Main_3()
Dim DateiName As String
' Dateiname mit InpuBox abfragen
DateiName = InputBox("Dateiname", "Name", "Vorschlag")
If Not StrPtr(DateiName) = 0 Then
DateiName = ThisWorkbook.Path & Application.PathSeparator & DateiName
ThisWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=DateiName, _
Quality:=xlQualityStandard, OpenAfterPublish:=True
End If
End Sub
Die Exceldatei muss natürlich einmal gespeichert worden sein.
Registriert seit: 19.09.2017
Version(en): 2016
Vielen Dank für Eure Antworten!
So wie Case es in seinem dritten Beispiel gezeigt hat gefällt es mir am besten. Es funktioniert auch einwandfrei, genauso habe ich mir das vorgestellt. Besten Dank schonmal dafür
Eine Frage hätte ich allerdings noch. Ist es möglich in dem Vorschlagsfeld von der Inputbox, den aktuellen Dateinamen der Exceldatei anzeigen zu lassen?
Ist das überhaupt realisierbar? Wenn es nicht funktioniert ist es auch nicht so schlimm, ist sowieso nur Spielerei.
Gruß Lukas
00202
Nicht registrierter Gast
Hallo, :19:
das geht dann so: :21:
Code:
Option Explicit
Sub Main_3()
Dim DateiName As String
' Dateiname mit InpuBox abfragen
DateiName = InputBox("Dateiname", "Name", Left(ThisWorkbook.Name, _
(InStrRev(ThisWorkbook.Name, ".") - 1)))
If Not StrPtr(DateiName) = 0 Then
DateiName = ThisWorkbook.Path & Application.PathSeparator & DateiName
ThisWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=DateiName, _
Quality:=xlQualityStandard, OpenAfterPublish:=True
End If
End Sub
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• lukas-2000
Registriert seit: 19.09.2017
Version(en): 2016
Hallo Case,
genauso habe ich mir das vorgstellt, vielen Dank für deine Hillfe!
Damit wäre das Thema abgeschlossen. :19:
Einen schönen Tag noch.
MfG Lukas