Как работает Dir () в VBA
В моем текущем коде VBA я генерирую переменную с именем myFileName и хотел бы использовать ее в качестве параметра, когда проверяю, существует ли файл, но я получаю сообщение об ошибке «Ошибка выполнения 52, неправильное имя файла или номер» в используемой строке команда Dir.
Интересно, если я набираю путь к файлу Dir вручную вместо использования переменной myFileName, то он работает без проблем. (нет опечатки, я могу использовать myFileName при чтении или записи файла, это только приводит к ошибке для команды Dir)
Любые идеи, как я могу заставить Dir (myFileName) работать?
- Проблема с созданием файла CSV
- Можно ли написать сценарий, который заставит Windows 7 открыть файл без xls с помощью Excel?
- Загрузка фрагмента файла excel куском Python вместо загрузки полного файла в память
- Создание файлов путем чтения листа excel
- Python записывает в файл.File становится коррумпированным (openpyxl)
Set fs = CreateObject("Scripting.FileSystemObject") myFileName = Environ("USERPROFILE") & "\Application Data\myFile.txt" If Dir(myFileName) = "" Then Set a = fs.CreateTextFile(myFileName, True) a.Write ("0") a.Close End If
- VBA Excel - ускоренное выполнение - копия листа (с диаграммами / объектами) из закрытого файла
- Запись чисел в файл python
- Откройте файл Excel и убедитесь, что он только для чтения
- Python конвертирует csv в xlsx
- Отправить файл ExcelPackage пользователю
- Объект WSGIRequest не имеет атрибута 'FILE'
- Усекающие столбцы анализатора Perl Excel
- Как читать файл excel из src / test / resources в Java
\Application Data
– это не папка, а ярлык. LOCALAPPDATA
этого используйте LOCALAPPDATA
или APPDATA
:
myFileName = Environ("LOCALAPPDATA") & "\myFile.txt" myFileName = Environ("APPDATA") & "\myFile.txt"
ваша проблема:
myFileName = Environ("USERPROFILE") & "\Application Data\myFile.txt"
должен быть
myFileName = Environ("USERPROFILE") & "\Application Data" & "\" & "myFile" & ".txt"
Это общий вопрос и действительно стоит признать, что вам нужно вставить последнюю косую черту, как это. IDK, почему vba читается так, но это работа
Я просто запускал это без проблем и создавал файл.
Private Sub createafile() Set fs = CreateObject("Scripting.FileSystemObject") myFileName = Environ("USERPROFILE") & "\Desktop" & "\" & Format(Date, "ddmmyyyy") & ".xlsm" If Dir(myFileName) = "" Then Set a = fs.CreateTextFile(myFileName, True) a.Write ("0") a.Close End If End Sub