#vba #excel
#vba #excel
Вопрос:
Я пытаюсь автоматически сохранить документ с определенным именем файла, за которым следует вчерашняя дата, используя функцию Now().
Каждый раз, когда я запускаю код, я получаю сообщение «Ошибка компиляции: ожидается: разделитель списка или)», и я, похоже, не могу разобраться с проблемой.
'Saves file as an xlsx in directory
ActiveWorkbook.SaveAs Filename:= _
"P:DesktopPrior Day JournalsTueday - FridayPrior Day Journal" _
amp; Format(Now() –1,“DD-MMM-YYYY”)“.xlsx” _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Кажется, что проблема всегда связана с значением -1 в коде, которое должно быть возвращено на день для имени файла.
Заранее спасибо
Комментарии:
1. К вашему сведению, в вашем коде есть два типа кавычек (
"
и“
/”
). Не уверен, что это проблема с копированием / вставкой сюда или на самом деле в коде.2. @BruceWayne Честно говоря, я думаю, что это были два разных типа, откуда я получил часть кода ранее. Итак, проблема с копированием и вставкой, прежде чем перейти сюда!
Ответ №1:
На самом деле ошибка заключается в том, что –
вы использовали не знак минус -
, а символ UNICODE Короткое ТИРЕ.
Другим подходом было бы использовать для этого функцию DateAdd.
У вас также отсутствует amp;
строка конкатенации и отсутствует ,
для разделения параметров.
'Saves file as an xlsx in directory
ActiveWorkbook.SaveAs Filename:= "P:DesktopPrior Day JournalsTueday - FridayPrior Day Journal" _
amp; Format(DateAdd("d", -1, Now()),"DD-MMM-YYYY") amp; ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Комментарии:
1. Не было проблем с тем, как у него была дата раньше. Вы можете
Format(Now() -1, "DD-MMM-YYYY")
, и это будет работать просто отлично. Попробуйте это в вашем непосредственном окне, вы получите yesterday в правильном формате. Проблемы заключались в том, что строка просто не объединялась и не хватало запятой.2. Оба работали абсолютно нормально, но сначала попробовал ваш @VincentG, и это сработало, спасибо!
3. Я отредактировал свой ответ, ваша проблема возникла из-за использования символов Юникода.