Registriert seit: 03.03.2023
Version(en): 365
Hallo zusammen,
ich habe mir für Excel ein Tool gebaut, mit dem ich Bestellungen erzeugen kann. Dabei trage ich in einer Tabelle alle notwendigen Daten ein. Diese werden dann in einer anderen Tabelle an den richtigen Stellen in der eigentichen Bestellung eingefügt.
jetzt zu meinem Anliegen.
Das Tabellenblatt mit den Bestelldetails soll unter einen Bestimten Netzwerkpfad mit einem Bestimmten Namen als pdf gespeichert werden.
Den Netzwerkpfad und den zu verwendenden Namen habe ich in jeweils einer Zelle stehen.
Bei bedarf soll der Ordner in dem gespeichert werden soll neu erstellt werden.
Hat da jemand ein Makro oder eine andere Lösung?
Vielen Dank schonmal.
Gruß Andy
26865
Nicht registrierter Gast
Dafür gibt es die ExportAsFixedFormat-Methode des Worksheets:
https://learn.microsoft.com/de-de/office...ixedformat
Registriert seit: 03.03.2023
Version(en): 365
Hallo EarlFred,
leider habe ich gar keine Ahnung von Makros. Was müsste ich da wie zusammen basteln?
Ich hab im Internet folgendes Makro gefunden:
Code:
Sub PDF()
Dim vntFile As Variant
vntFile = Application.GetSaveAsFilename(Range("A11114") & Range("A11121").Value & "\" & _
ActiveSheet.Range("A11118").Value & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")
If vntFile <> False Then
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=vntFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
End Sub
Die erstellung des Dateinamens funktioniert so, wie ich das will. Den Ordner wählt er mir aber nicht richtig.
Ebenso weis ich auch noch nicht, was ich ändern muss, damit er mir das richtige Tabellenblatt verwendet.
26865
Nicht registrierter Gast
Wie der Methodenname sagt: Du bekommst den FILENAME, nicht den
Code:
Option Explicit
Sub Export()
Dim ws As Worksheet
'Name des Worksheets hier anpassen:
Set ws = Worksheets("MeinWorkSheetName")
Call ws.ExportAsFixedFormat( _
Type:=xlTypePDF, _
Filename:=ws.Range("A11114").Value & ws.Range("A11121").Value & "\" & ws.Range("A11118").Value & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False)
End Sub
Zitat:Den Ordner wählt er mir aber nicht richtig.
Ob die Verkettung der Zellinhalte
ws.Range("A11114").Value & ws.Range("A11121").Value & "\" & ws.Range("A11118").Value & ".pdf" einen gültigen Pfad und Dateinamen ergibt, kann ich aber beim besten Willen nicht beurteilen. Das musst du dir bitte mal selbst in Ruhe anschauen. Vielleicht fehlt zwischen
ws.Range("A11114").Value und
ws.Range("A11121").Value noch ein Backslash?
Registriert seit: 03.03.2023
Version(en): 365
Mit deinem Code bekomme ich den Fehler:
Laufzeitfehler `1004`:
Die Methode `Range`für das Objekt`_Worksheet`ist fehlgeschlagen
26865
Nicht registrierter Gast
Ich nicht. Und nun?
Wie sieht dein Code jetzt aus? Welche Werte stehen in den Zellen?
Registriert seit: 25.11.2018
Version(en): 2016 Plus
Anbei eine Datei wobei Sie Ihre Datei als PDF speichern könnten.
Sie müssen nur den Dateipfad anpassen.
Vielleicht hilft Ihnen das weiter….wenn nicht einfach ignorieren
Beispiel:
PDF_per_Button_Speichern.xlsm (Größe: 17,53 KB / Downloads: 1)
*Habe die Datei aus dem Internet vor langer zeit, weiss leider nicht mehr die Quelle.
Danke
Niko