[VBA, Excel] узнать наличие файла в папке
Dir(полное имя файла если в ответ пустая строка - значит, файла нет
да, работает, спасибо.
Может, подскажешь еще, как:
1. Проверить, есть ли открытый файл с таким-то именем
2. Создать в форме объект, который позволяет при клике на него выбирать папку. Для файла сделал через:
With Application.FileDialog(msoFileDialogOpen)
А теперь нужно выбрать именно папку, т.е. чтобы появившееся окно не ждало файла.
Может, подскажешь еще, как:
1. Проверить, есть ли открытый файл с таким-то именем
2. Создать в форме объект, который позволяет при клике на него выбирать папку. Для файла сделал через:
With Application.FileDialog(msoFileDialogOpen)
А теперь нужно выбрать именно папку, т.е. чтобы появившееся окно не ждало файла.
1. а) Пройди циклом по открытым книгам и сравни у них Name с требуемым именем или
б) попробуй активировать книгу по имени и обработай ошибку (on error goto ...)
2. так же, как сделал для файла, только используй параметр msoFileDialogFolderPicker, а не msoFileDialogOpen
б) попробуй активировать книгу по имени и обработай ошибку (on error goto ...)
2. так же, как сделал для файла, только используй параметр msoFileDialogFolderPicker, а не msoFileDialogOpen
с пунктом 2 понятно, спасибо.
А про первый, как надо написать цикл? Что-то вроде:
For each a in openworkbooks
If a.name = "искомая книга" Then msgbox ("книга с именем " & a & " открыта")
Next a
?
А про первый, как надо написать цикл? Что-то вроде:
For each a in openworkbooks
If a.name = "искомая книга" Then msgbox ("книга с именем " & a & " открыта")
Next a
?
да, только
For each a in workbooks
спасибо. Всё работает.
может, еще подскажешь, как сделать так, чтобы какой-нить макрос начинал работать при открытии файла?
Оставить комментарий
igorek1
В процессе работы макроса в Excel открываю и сохраняю файлы в определенные папки. Чтобы избежать ошибок, хочется научиться проверять наличие файла с таким-то именем в папке (такой-то путь). Подскажет кто?