Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
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

Speicherpfad pdf in Zelle vorgeben

Speicherpfad pdf in Zelle vorgeben
28.07.2017 00:27:43
Jörg
Liebe Wissende,
ich habe im Forum ein funktionierendes Modul für mich gefunden. Es erzeugt ein pdf mit dem Namen aus der Zelle "A1". Der Speicherpfad ist der der Arbeitsmappe.
Hat jemand eine Idee, wie ich den Speicherpfad (soll zu Ordner mit Kunden führen) aus Zelle "A2" verwenden kann?
Die Steigerung wäre:
Im Ordner mit Kunden habe ich Ordner mit Kundennummern. Diese heißen bspw. rob17001_Kundenname. Der Kundenname ist natürlich unterschiedlich lang. Wenn ich nur die Kundennummer in Zelle "A3" vorgeben und der Speicherpfad bis in den Kundenordner führen würde, wäre ich im Excel-Himmel!
Danke von Jörg

Sub saveAsPDF()
Dim vntFile As Variant
vntFile = Application.GetSaveAsFilename(ThisWorkbook.Path & "\" & _
ActiveSheet.Range("A1").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

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

Betreff
Datum
Anwender
Anzeige
AW: Speicherpfad pdf in Zelle vorgeben
28.07.2017 06:54:03
Chris
Hi, im Prinzip steht doch schon alles da. ;)
" vntFile = Application.GetSaveAsFilename(ThisWorkbook.Path & "\" & _
ActiveSheet.Range("A1").Value & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")"
Einfach ThisWorkbook.Path durch einen anderen Pfad ersetzten. z.B.
" vntFile = Application.GetSaveAsFilename("C:\WoAuchImmerDuEsHinhabenWillst\"&Range("A3").value& "\" & _
ActiveSheet.Range("A1").Value & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")"
AW: Speicherpfad pdf in Zelle vorgeben
28.07.2017 19:06:57
Jörg
Hallo Chris,
danke für Deine schnelle Antwort.
Ich habe deinen Code in meinen hineinkopiert und den Pfad ersetzt. In Zelle "A3" steht "rob17001". Der Zielordner heißt jedoch "rob17001_Kath. Kindergarten St. Suitbertus".
vntFile = Application.GetSaveAsFilename("R:\aktuelle Projekte\aspekt\Robhoc\4_Korrespondenz\"&Range("A3").value& "\" & _
ActiveSheet.Range("A1").Value & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")
Es kommt leider die Meldung:
"Fehler beim Kompilieren: Erwartet: Listentrennzeichen oder)".
Ich komme leider nicht hinter den Fehler.
Danke für weitere Hilfe
Jörg
Anzeige
AW: Speicherpfad pdf in Zelle vorgeben
28.07.2017 19:27:34
Werner
Hallo Jörg,
hier fehle ein Leerzeichen zwischen Value und dem &
.value& "\" &

das muss so aussehen
.value & "\" &
Achte darauf, dass überall wo du das & zur Verknüpfung eingesetzt hast jeweils vor dem & und nach dem & ein Leerzeichen drin ist. Das wird nicht immer automatisch gemacht.
Gruß Werner
AW: Speicherpfad pdf in Zelle vorgeben
28.07.2017 20:33:51
Jörg
Hallo Werner,
danke, jetzt klappt es!
Der letzte Teil meines ursprünglichen Anliegens ist allerdings noch nicht gelöst.
Mein Code lautet zur Zeit:
Sub saveAsPDF()
Dim vntFile As Variant
vntFile = Application.GetSaveAsFilename(Range("B1") & Range("B2").Value & "\" & _
ActiveSheet.Range("B3").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
"B1" = Pfad
"B3" = Dateiname unter dem gespeichert werden soll
"B2" = Ordnername
In Zelle "B2" steht bspw. "rob17001". Der Zellinhalt ist immer 8-stellig und entspricht einer eindeutigen Kundennummer. Der Ordnername lautet allerdings wegen besserer Übersicht bspw. "rob17001_Kunde xy".
Gibt es irgendeine Lösung nach dem Motto "Pfad, egal was ab der neunten Stelle steht"?
Anzeige
vielleicht-Idee zu "Pfad, egal was ab..."
29.07.2017 08:59:46
Oberschlumpf
Hi Jörg,
ich hab mal getestet.
Auf meinem Laufwerk D gibt es das Verzeichnis "D:\Neuer Ordner".
Wenn ich...

strPfad = Dir("D:\Neuer", vbDirectory)
MsgBox strPfad

...starte, zeigt die MsgBox nichts an, da es kein Verzeichnis "D:\Neuer" gibt.
Wenn ich aber...

strPfad = Dir("D:\Neuer*", vbDirectory)
MsgBox strPfad

...starte, zeigt die MsgBox "D:\Neuer Ordner" an - wie ja gewünscht!
Das * gilt für den DIR-Befehl als Joker und bedeutet, dass es egal ist, was nach "D:\Neuer" kommt.
Somit wird also auch "D:\Neuer Ordner" gefunden.
Dein Code müsste angepasst werden.
Und ganz wichtig ist, dass der Eintrag in Zelle B1 für Pfad mit "rob17001" endet und nicht mit "rob17001\"
Das letzte Zeichen in B1 darf also - nicht - "\" sein!
So, nun zur Code-Anderung

Dim lstrPfad As String
lstrPfad = Dir(Range("B1") & "*", vbDirectory)
vntFile = Application.GetSaveAsFilename(lstrPfad & Range("B2").Value & "\" & _
ActiveSheet.Range("B3").Value & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")

Wenn ich mich nicht irre (ich kann es ja mangels einer Bsp-Datei von dir nicht testen), enthält die Variable lstrPfad nun den vollständigen Pfad, in dem die eindeutige Kundennummer und "_Kunde xy" vorkommt.
Wenn meine Idee (noch) nicht funktioniert, dann zeig uns bitte per Upload eine Bsp-Datei.
Hilfts denn?
Ciao
Thorsten
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige