Wie drückt man ein einsames "\" in einem Dateipfad in VBA aus?

422
Valerie

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

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 Ordner, in dem die Datei gespeichert werden soll

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

sollte platziert werden?

0
Nun, für VBA / VBS sind keine Escape-Sequenzen erforderlich, außer für doppelte Anführungszeichen. Daher würde ich normalerweise vorschlagen, dass Sie Ihre Backslashes verdoppeln, aber es wird wahrscheinlich nicht helfen. Haben Sie versucht, es in mehrere Zeilen aufzuteilen? VB-Editoren können oft durch "& _" verwirrt werden. Wenn Sie Probleme mit der Verkettung mehrerer Ausdrücke haben und diese Ausdrücke das Ergebnis eines Funktionsaufrufs sind, kann es zu Casting-Problemen kommen, die schwer vorhersehbar sind. Versuchen Sie, die Pfadmarker getrennt in ihren eigenen vars zu generieren, und bündeln Sie sie schließlich zusammen. Frank Thomas vor 7 Jahren 0
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 flüchtete, obwohl der andere Kommentar darauf schließen lässt, dass dies nicht der Fall ist. Run CMD vor 7 Jahren 0
Sie könnten CHR $ (x) verwenden, wobei x der ASCII-Code von \ ist. Aganju vor 7 Jahren 0

1 Antwort auf die Frage

0
gtwebb

Das 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

Es ist das Gleiche, dass die Zeichenfolge nur in einer Variablen gespeichert wird, anstatt das Dokument zu speichern.

Ich glaube, ich habe vermutet, dass es das "\" war. Ich bekomme immer noch eine Fehlermeldung, aber anscheinend hat das nichts damit zu tun. Valerie vor 7 Jahren 0