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

Leerzeichen im Ordnerpfad

Leerzeichen im Ordnerpfad
29.07.2022 12:08:59
Nadine
Hallo zusammen,
ich habe einen Code, der mir alle PDFs aus einem Ordner zusammenführt und in einem anderen Ordner speichert. Dies funktioniert auch, solange der Pfad des Zielordners kein Leerzeichen enthält. Fehlermeldung bekomme ich keine.

Sub PDF_Merge()
Dim strPfad As String
Dim strPfadZ As String
Dim strName As String
Dim strGS As String
Dim strPDF As String
Dim strPDFZ As String
Dim strDatname As String
Dim strCommand As String
Dim lngTaskID As Long
Dim lngptrProcID As LongPtr
'Pfad für Ghostscript - ggf. anpassen
strGS = "C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe"
'Verzeichnis auswählen, in dem die PDFs stehen, die zusammengefügt werden sollen
strPfad = "C:\Zeichnungen\"
'PDF-Dateien aus Verzeichnis einlesen
strDatname = Dir(strPfad & "*.pdf")
'Schleife zum einlesen aller entsprechenden Dateien
Do While Len(strDatname)
'Dateiname eintragen:
'Prüfen, ob Leerzeichen im Dateinamen existiert
If InStr(strDatname, " ") Then
'falls ja, muss der Dateiname in Anführungszeichen gesetzt werden
strPDF = strPDF & " """ & strPfad & strDatname & """"
Else
'falls nein, reicht die einfache Übername des eingelesenen Namens
strPDF = strPDF & " " & strPfad & strDatname
End If
strDatname = Dir
strPfadZ = "C:\Te st\"
Loop
'für Ghostscript den Befehl erstellen
strCommand = strGS & " -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=" & strPfadZ & "3_Zeichnungen.pdf -dBATCH" & strPDF
'Ghostscript-Befehl ausführen
lngTaskID = Shell(strCommand, 0)
lngptrProcID = OpenProcess(SYNCHRONIZE + PROCESS_QUERY_INFORMATION, 0&, lngTaskID)
Call WaitForSingleObject(lngptrProcID, INFINITE)
Call CloseHandle(lngptrProcID)
End Sub
Hat jemand eine Idee, was ich ändern muss, damit es auch mit Leerzeichen funktioniert?
Folgende Variationen habe ich schon probiert, bin aber nicht zum Ziel gekommen:

strPfadZ = """C:\Desktop\Te st\"""
strPfadZ = "'C:\Desktop\Te st\'"

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeichen im Ordnerpfad
29.07.2022 12:10:53
{Boris}
Hi,
ungetestet: Ersetze das Leerzeichen mal durch %20
VG, Boris
AW: Leerzeichen im Ordnerpfad
29.07.2022 12:24:14
Nadine
Geht leider auch nicht.
Wäre auch nicht praktikabel, weil ich den Pfad gern aus Variablen zusammenbaue.
Da weiß ich nicht, ob und wie viele Leerzeichen da drin sind.

strPfadZ = "V:\Dokumentationen\" & Sheets("PD").Range("F1") & "\" & Sheets("PD").Range("E1") & "_DATUM\"

AW: Leerzeichen im Ordnerpfad
29.07.2022 12:58:42
volti
Hallo zusammen,
die %20 werden in Links verwendet, da dort keine Leerzeichen enthalten sein dürfen wird auf die hexdezimale Schreibweise zurückgegriffen.
%20 = &H20 = 32 dez. = Leerzeichen
Ich würde eher auch den Exe-Pfad in Gänsefüßchen setzen, der da ja auch Leerzeichen verwendet werden und Shell die Leerzeichen als Parameterabtrennung nimmt. (ungetestet)
strGS = """C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe"""
Gruß Karl-Heinz
Anzeige
AW: Leerzeichen im Ordnerpfad
30.07.2022 12:57:33
Nadine
Danke, aber der Pfad funktioniert mit Leerzeichen.
AW: Leerzeichen im Ordnerpfad
29.07.2022 13:51:14
peterk
Hallo Nadine
Probier mal:
strPfadZ = """" & strPfadZ & "3_Zeichnungen.pdf"""
strCommand = strGS & " -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=" & strPfadZ & " -dBATCH" & strPDF
Erklärung
Dein Ansatz liefert : -sOutputFile=C:\Te st\3_Zeichnungen.pdf
Nepumuk liefert : -sOutputFile="C:\Te st\"3_Zeichnungen.pdf
Meins liefert : -sOutputFile="C:\Te st\3_Zeichnungen.pdf"
Peter
AW: Leerzeichen im Ordnerpfad
30.07.2022 12:58:24
Nadine
Danke, das probiere ich gleich Montag mal aus.
AW: Leerzeichen im Ordnerpfad
01.08.2022 08:02:57
Nadine
Funktioniert! Super! Vielen Dank!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige