Как выразить одинокий "\" в пути к файлу в VBA?

344
Valerie

Я использую сценарий VBA для сохранения файла с названием «месяц-день-час-минута» внутри папки с названием «месяц-год»

В любом случае, Excel не любит мой код,

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

Именно эта часть

"\" & _ 

Как я могу выразить \ break в пути так, как ему нравится, чтобы он видел

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

как папка, в которой файл, который будет сохранен как

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

должны быть размещены в?

0
ну, VBA / VBS не требует escape-последовательностей, за исключением двойных кавычек, поэтому, хотя я обычно рекомендую удвоить обратную косую черту, это, вероятно, не поможет. Вы пытались разбить его на несколько строк? Редакторы VB часто путают `& _`, и если у вас возникают проблемы с конкатенацией нескольких выражений, и эти выражения являются результатом вызова функции, могут возникнуть проблемы с приведением, которые трудно предвидеть. попробуйте сгенерировать маркеры пути отдельно в их собственных переменных и, наконец, объединить их вместе. Frank Thomas 7 лет назад 0
После короткого перерыва проклятия MS моей первой попыткой было бы включить обратную косую черту в формат даты, но я не проверял руководство. Просто иногда эти функции форматирования более гибкие, чем можно подумать. - Я не исключаю, что там, возможно, нужно будет избежать, хотя другой комментарий предполагает, что это не так. Run CMD 7 лет назад 0
Вы можете использовать CHR $ (x), где x это код Аски \ Aganju 7 лет назад 0

1 ответ на вопрос

0
gtwebb

Это нормально работает на моем компьютере (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 результаты C:\Users\username\Documents\Workout Logs\May-2016\May-1910-13.xls

Это то же самое, что просто сохраняет строку в переменную вместо сохранения документа.

Так и есть, наверное, я предполагал, что это был «\». Я все еще получаю сообщение об ошибке, но, видимо, это не связано с этим. Valerie 7 лет назад 0

Похожие вопросы