Ah ich hatte das 1. nicht ganz richtig gelesen und verstanden. Du moechtest also einen Ordner anlegen mit der Rechnungsnummer oder Kundenname als Ordnername? Kein Problem. Du musst nur wissen, in welchem Ueberordner diese Ordner angelegt werden sollen. Diesen kann man fest im Code hinterlegen, oder ueber FolderPicker auswaehlen lassen.. Und dann soll die Datei mit Kundenname (A3) und Rechnungsnummer (C9) benannt werden. OK.
Also hier mal ein Beispiel. Habe ein paar Kommentare eingefuegt, damit due siehst, was wo passiert.
Wenn du noch Fragen hast, komm einfach wieder auf mich zu.
Sub PDF_Speichern_unter()
Dim DateiName As String, HauptOrdner As String, DateiOrdner As String
With ThisWorkbook.Sheets("Proforma")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordnerauswahl"
.InitialFileName = "C:\Users\" 'hier den Ueberordner angeben, damit nicht lange gesucht werden muss
If .Show = -1 Then
HauptOrdner = .SelectedItems(1)
End If
End With
If HauptOrdner <> "" Then
DateiOrdner = .Range("A3") 'Ordner wird mit Kundenname benannt, kannst du aendern
If Dir(HauptOrdner & DateiOrdner & "/nul") = "" And DateiOrdner <> "" Then
MkDir HauptOrdner & "\" & DateiOrdner 'hier wird der Ordner erstellt, wenn noch nicht vorhanden
End If
DateiName = HauptOrdner & "\" & DateiOrdner & "\" & .Range("A3") & "-" & .Range("C9") & ".pdf" 'Zusammensetzen des Pfad und Dateinamens
.Range("C9") = .Range("C9") + 1 'Rechnungsnummer 1 hochzählen
.Range("A1:F35").ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
End With
End Sub
Gruss Tor
|