Копирование файла: ThisWorkbook.Path с FileSystemObject выдает неверное имя файла или номер ошибки - PullRequest
1 голос
/ 25 марта 2019

Поэтому перед сохранением в текущий XML-файл, над которым работает мой код VBA, я хочу создать резервную копию временной метки файла XML в VBA.Вот как я планирую это сделать:

Sub CreateBackup()
    Dim objFSO As FileSystemObject
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    oldFilePath = ThisWorkbook.Path & "\DEMO.xml"
    newFilePath = ThisWorkbook.Path & "\DEMO" & Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss") & ".xml.bak"
    objFSO.CopyFile oldFilePath, newFilePath
End Sub

Однако каждый раз, когда я получаю Bad Filename or Number error.Я дважды проверил (используя отладчик), что мои переменные читают правильный путь к файлу с именем файла.Что дает?

1 Ответ

2 голосов
/ 25 марта 2019

: не допускается в именах файлов.

Заменить

Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")

, например,

Format$(DateTime.Now, "yyyy-MM-dd hh_mm_ss")

.

Обратите внимание, что использование Format$() возвращает строку вместо варианта (используяFormat()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...