Wie drücke ich ein einzelnes "\" in einem Dateipfad in VBA aus?

0

Ich verwende ein VBA-Skript, um eine Datei mit dem Titel zu speichern "Monat-Tag-Stunden-Minute" in einem Ordner mit dem Titel "Monat Jahr"

Wie auch immer, Excel mag meinen Code nicht,

ActiveWorkbook.SaveAs "C:\Users\" & Environ$("UserName") & _ 
"\Documents\Workout Logs\" & _
Format$(Date, "mmmm-yyyy") & _ 
"\" & _ 
Format$(Date, "mmmm-dd") & Format$(Time, "hh-mm") & ".xls"

Speziell dieser Teil

"\" & _ 

Wie drücke ich den \ break im Pfad so aus, wie es ihm gefällt?

Format$(Date, "mmmm-yyyy") & _ 

als den Ordner, in dem die Datei gespeichert wird als

Format$(Date, "mmmm-dd") & Format$(Time, "hh-mm") & ".xls"

sollte in platziert werden?

Valerie
quelle
Nun, für VBA / VBS sind keine Escape-Sequenzen erforderlich, mit Ausnahme von Anführungszeichen. Ich würde also normalerweise vorschlagen, dass Sie Ihre Backslashes verdoppeln, aber es wird wahrscheinlich nicht helfen. Haben Sie versucht, es in mehrere Zeilen aufzuteilen? VB-Redakteure können oft durcheinander gebracht werden & _ Wenn Sie Probleme beim Verketten mehrerer Ausdrücke haben und diese Ausdrücke das Ergebnis eines Funktionsaufrufs sind, kann es zu Casting-Problemen kommen, die nur schwer vorhersehbar sind. Versuchen Sie, die Pfad-Token separat in ihren eigenen Vars zu generieren und sie schließlich zusammenzufassen.
Frank Thomas
Nach einer kurzen Pause, die MS fluchte, wäre mein erster Versuch, den Backslash in das Datumsformat aufzunehmen, aber ich habe das Handbuch nicht geprüft. Es ist nur so, dass diese Formatierungsfunktionen manchmal flexibler sind, als man denkt. - Ich würde nicht ausschließen, dass es möglicherweise dort entkommen sein muss, obwohl der andere Kommentar darauf hinweist, dass dies nicht der Fall ist.
Run CMD
Sie könnten CHR $ (x) verwenden, wobei x der ASCII-Code von \ ist.
Aganju

Antworten:

0

Dies läuft gut auf meinem Computer (Windows Excel 2013)

Sub test()
a = "C:\Users\" & Environ$("UserName") & _
"\Documents\Workout Logs\" & _
Format$(Date, "mmmm-yyyy") & _
"\" & _
Format$(Date, "mmmm-dd") & Format$(Time, "hh-mm") & ".xls"

MsgBox (a)

End Sub

Msgbox Ergebnisse C:\Users\username\Documents\Workout Logs\May-2016\May-1910-13.xls

Das Gleiche ist, dass der String in einer Variablen gespeichert wird, anstatt das Dokument zu speichern.

gtwebb
quelle
Ich nehme an, dass es das "\" war. Ich bekomme immer noch eine Fehlermeldung, aber anscheinend hat das nichts damit zu tun.
Valerie