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

%20 Ausgabe im Dateinamen anstatt Leerzeichen

%20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo,
ich habe hier ein kleines Problem.
Wie bekomme ich bei abspeichern meiner Datei ein Leerzeichen hin, ohne das dafür eine %20 angezeigt wird ?
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief" & " " & ActiveSheet.Name & ".xls"
Der Speichername sollte so sein: Brief Eingang.xls
Wobei Eingang der Name des Aktuellen Blatt ist !
Zur Zeit wird es aber so abgespeichert: Brief%20Eingang.xls
Hat da einer eine Lösung ?
mfg
Fred

33
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Fred,
evtl. so:

ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
Gruß, Dieter(Drummer)
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Dieter,
danke für die Antwort, aber dann erhalte ich auch
Brief%20Eingang.xls
Das hatte ich auch schon so ausprobiert.
Bei jeden Leerzeichen kommt %20 dabei heraus !
Das verstehe ich nicht !
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Fred,
ich habe mal aus Deinem Codeschnipzel ein Makro gemach.
Sub t()
Dim Speicherpfad As String
Speicherpfad = "W:\Eigene Dateien\Hajo\Internet\Test\2012\"
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End Sub

ich kann Dein Problem nicht nachvollziehen.

Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo,
es geht bei mir einfach nicht !
Es kommt immer dieses %20 bei einem Leerzeichen.
Hat es etwas damit zu tun, dass ich dieses mit Excel 2010 erstellt habe, und es unter xls abspeicher ?
Hier der ganze Verlauf:
' Blatt_in_neue_Datei_kopieren
Speicherpfad = ThisWorkbook.Path
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
i = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If i = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
ich habe wieder die Zeit investiert und aus Deinem Code ein koompletten Code gemacht und ich habe wier nicht Deine Zeichen. Das Du ein "\" vergesen hast steht auf einem ande3rem Blatt. Vielleicht wolltest Du es auch so.

AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Ach ja,
es fehlt noch ganz oben in meinem Code
Dim Speicherpfad As String
Das war aber vorhanden, geht aber trotzdem nicht !
mfg
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Fred,
es fehlte noch mehr. siehe mein Code und es geht.
Gruß Hajo
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Hajo,
ich sehe da nur noch Sub t().
Was bedeutet das ?
Kann ich das denn auch bei meiner
Private Sub CommandButton1_Click()
mit einbauen, oder geht es dann nicht ?
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Fred,
ich hatte den Code vergessen.
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub

Du Scahust auch im trichtigen Ordner nach?
W:\Eigene Dateien\Hajo\Internet\Test\2012\WocheBrief Eintrag.xls. wobei W:\Eigene Dateien\Hajo\Internet\Test\2012\woche der Ordner ist, aber in dem wird nicht gespeichert da "\" fehlt.
Gruß Hajo
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Hajo,
ich habe deinen Code ausprobiert.
1. Es wird wieder mit %20 gespeichert.
2. Wenn ich diese Datei ein 2 Mal abspeichen möchte, wird die alte überschrieben ! Es kommt keine Abfrage.
da "\" fehlt.
Wo soll das denn hinkommen, denn ich habe es nicht bewust weggelassen !
mfg
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
wie ich schon geschrieben habe wird die Datei nicht im Ordner W:\Eigene Dateien\Hajo\Internet\Test\2012\woche gespeichert sonder Sie hat den Namen W:\Eigene Dateien\Hajo\Internet\Test\2012\WocheBrief Eintrag.xls
Gruß Hajo
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
wie ich schon geschrieben habe wird die Datei nicht im Ordner W:\Eigene Dateien\Hajo\Internet\Test\2012\woche gespeichert sonder Sie hat den Namen W:\Eigene Dateien\Hajo\Internet\Test\2012\WocheBrief Eintrag.xls
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Fred,
habe mal meine Musterdatei hochgeladen (ist wohl Exel 2003): https://www.herber.de/bbs/user/79797.xls
Bei mir geht es! Dies %20 kenne ich nur bei HTML Programmierung für Leerzeichen. Es entseht dann, wenn ein Leerzeichen vorhanden ist.
Habe sonst keien weitere Idee.
Gruß, Dieter(Drummer)
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Dieter,
bitte schau dir mal mein Code an.
Ich habe das Beispiel mit der "Speichernabfrage wenn Datei vorhanden" aus dem Internet, und dann bei mir eingefügt.
Ist das evt. HTML ?
Falls ja, wie würde der Code dafür in VBA aussehen ?
GRuß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Fred,
lade mal deine Datei MIT Makro hoch. Dann kann ich mir das mal ansehen. Du kannst auch das Makro von Hajo komplett in deine Datei integrieren und dann dieses Makro aufrufen. Da du dein Makro aus dem Internet hast, kannst du mir mal dieses Makro zeigen, Ich denke, wie schon von mir am Anfang bemerkt. dass es mit HTML zu tun hat und deshalb die %20 für die Leerstelle auftauchen.
Gruß, Dieter(Drummer)
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Dieter,
den Code finde ich so schnell wieder.
I
Meine Datei kann/darf ich leider nicht uploaden, da sie vertrauliche Daten aus meiner Firma enthält,
die auch als Lable in einer UserForm enthalten sind.
Woran kann man denn erkennen ob es sich um eine HTML Programmierung handelt ?
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Fred,
ich gehe davon aus, dass du den Code aus dem Internet kopiert hast und dann in deine fertige Datei - die nicht aus dem Internet ist! - eingefügt hast. Versuch es mal so:
1) Den Internt-Code aus deiner Datei löschen
2) Den Code von Hajo (der ja prima funtkioniert) in deine Datei einfügen
3) Dann das Makro zum speichern auführen.
Fertig.
Achtung: Vorher eine Sicherungskopie deiner Datei machen!

Sonst habe ich keine weitere Idee, wenn ich die Datei MIT dem entsprechenden Code nicht sehen kann.
Habe natürlich Verständnis dafür.
Ich bin davon überzeugt, dass %20 für die Leerstelle mit der Internet-Kopie zusammen hängt. In welcher Form oder wodurch, kann ich nicht sagen, da ich kein Profi bin.
Gruß, Dieter(Drummer)
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Dieter,
es sollte aber "\" ergänzt werden.
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
und falls nicht klar wo:
Speicherpfad = ThisWorkbook.Path & "\"
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Hajo,
mit dieser, dann gelb markierten Zeile (hier Fett) bleibt dein Makro dann wohl hängen. Eine Idee warum?
Hier dein kompletter Code:
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & " _
.xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
Gruß, Dieter(Drummer)
Anzeige
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Halo Dieter,
ich habe den geänderten Code
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
sogar 2x laufen lassen und er lief durch.
Gruß Hajo
AW: geänderter Code
Hajo_Zi
Halo Dieter,
ich hätte den Code noch ein wenig geändert.
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
Kill Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
Gruß Hajo
AW: geänderter Code
Dieter(Drummer)
Hi Hajo,
Danke erst mal für deine Bemühung in Fred's Sache. Diesen Code von dir habe ich jetzt laufen lassen und er funktioniert einwandfrei:
'Von Hajo Ziplies
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub

Werde Fred diesen auch senden.- Mehr kann ich kann nicht mehr tun.
Schönen Abend noch und
Gruß, Dieter(Drummer)
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Dieter,
danke für dein Verständnis.
Hajos Code hatte ich ja auch schon ausprobiert, nur leider mit dem selben Ergebnis !
Die Datei wurde auch mit %20 gespeichert, und eine Abfrage bei Doppelter Datei kam auch nicht.
Ich weis auch nicht mehr weiter.
Kann es nicht an irgendeine Einstellung liegen die ich evt. mit diesen Code aus dem Netz mit kopiert habe ?
Mache erst einmal Schluss für Heute. Ich zweifle ja schon selbst an mich !
Dies war der Code aus dem Netz:
~f~
strFile = "P:\Mappe2.xls"
if Len(Dir(strFile)) > 0 then
' Datei vorhanden -> rückfrage
i = msgbox("Datei bereits vorhanden, überschreiben?", vbyesno)
if i = 6 then
ActiveWorkbook.SaveCopyAs strFile
end if
else
' Datei nicht vorhanden -> gleich speichern
ActiveWorkbook.SaveCopyAs strFile
end if
~f~
Musste eben für diesen Code das "~f~" eingeben da ein Hinweis bei der Vorschau kam:
Sie haben HTML-Tags verwendet  usw.
Also handelt es sich wohl doch um HTML, oder ?
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Fred,
ich vermute mal Du schaust immer in den falschen Ordner, da "\" fehlt.
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Hajo,
ich vermute mal Du schaust immer in den falschen Ordner, da "\" fehlt.
durch "Speicherpfad = ThisWorkbook.Path" wird, bzw. soll der der Ordner zum speichern genommen werden, wo sich diese Datei befindet.
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
schaue Dir das Ergebnis im VBA Code an.
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Fred,
dieser Code von Hajo fuktioniert einwandfrei:
'Von Hajo Ziplies
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Select
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
Sonst habe ich keine weitere Möglichkiet.
Gruß, Dieter(Drummer)
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Hajo_Zi
Hallo Fred,
ein letzter Versuch.
Sub n()
'Blatt_in_neue_Datei_kopieren
Dim Speicherpfad As String
Dim strFile As String
Dim I As Integer
Speicherpfad = ThisWorkbook.Path & "\"
ActiveSheet.Copy
strFile = Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
If Len(Dir(strFile)) > 0 Then
I = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
If I = 6 Then
Kill Speicherpfad & "Brief " & ActiveSheet.Name & ".xls"
ActiveWorkbook.SaveAs Filename:=Speicherpfad & Application.Substitute("Brief ",  _
"%20", " ") & ActiveSheet.Name & ".xls"
End If
Else
ActiveWorkbook.SaveAs Filename:=Speicherpfad & Application.Substitute("Brief ",  _
"%20", " ") & ActiveSheet.Name & ".xls"
End If
ActiveWorkbook.Close True
End Sub
Gruß Hajo
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
O.K. Hajo und Dieter,
habt beide vielen Dank für eure Mühe und Gedult.
Ich werde Morgen weiter den letzten Code ausprobieren.
Heute ist Schluss für mich.
Meine Frau ist schon verärgert !
Gruß
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Hi Hajo,
auch dieser, dein Code läuft einwandfrei!
Gru0, Dieter(Drummer)
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
rieckmann
Hallo Hajo,
dein letzter Code funktioniert nun auch bei mir !
Ich habe keine Ahnung warum die vorherigen immer diese %20 angezeigt haben.
Nun ist alles gut.
Vielen dank für deine Hilfe.
Auch Dieter sage ich nochmals danke.
Schön das einen hier geholfen wird.
Wünsche noch einen schönen Sonntag
mfg
Fred
AW: %20 Ausgabe im Dateinamen anstatt Leerzeichen
Dieter(Drummer)
Guten Morgen Fred,
Danke für Rückmeldung und es freut mich, dass dir geholfen werden konnte.
Noch einen schönen Sonntag und
Gruß, Dieter(Drummer)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge