Vba проверить существует ли каталог

4129 просмотра

1 ответ

Репутация автора

У меня есть этот кусок кода, но я не могу заставить его работать, потому что он возвращает Bad file name or number error :

Я просто хочу проверить, существует ли данный каталог, если нет, то подскажите сообщение. txtFldr является элементом управления textX ActiveX и ws является рабочим листом . Я на самом деле сохраняю его в общем каталоге или просто локально.

Ответы (1)

1 плюс

6534 Репутация автора

Как насчет этого:

Многие другие способы также показаны путем поиска в интернете. Например, здесь есть другой подход:

Этот второй подход использует некоторые Error функции обработки, доступные в VBA, и GoTo метки для обхода кода.

У меня есть этот код. Предполагается проверить, существует ли файл и открыть его, если это произойдет. Он работает, если файл существует, и если он этого не делает, однако, когда я оставляю текстовое поле пустым и нажимаю кнопку отправки, он терпит неудачу. Я хочу, чтобы текстовое поле было пустым, чтобы отобразить сообщение об ошибке так же, как если бы файл не существовал.

у меня есть электронная таблица, которая при нажатии кнопки будет дублироваться путем копирования/вставки всего в новую книгу и сохранения файла с именем, зависящим от некоторых значений переменных (взятых из ячеек в электронной таблице). Моя текущая цель — заставить его сохранить лист в разных папках в зависимости от имени имени клиента (значение ячейки хранится в переменной), в то время как это работает при первом запуске, я получаю ошибку после.

код проверяет, существует ли каталог и создает его, если нет. Это работает, но после его создания, запуск его во второй раз выдает ошибку:

ошибка выполнения 75-путь / Ошибка доступа к файлу.

вы должны извинить мое отсутствие знаний в этой области, я еще учусь. У меня очень сильное чувство, что это имеет какое-то отношение к логике проверки каталога, как при ошибке MkDir строка выделена.

Читайте также:  Nateks fg ace vc 130 2

6 ответов

чтобы проверить наличие каталога с помощью Dir необходимо указать vbDirectory в качестве второго аргумента, как в чем-то вроде:

обратите внимание, что с vbDirectory , Dir вернет непустую строку, если указанный путь уже существует как каталог или в виде файла (при условии, что файл не только для чтения, скрытый или системный атрибутами). Вы могли бы использовать GetAttr чтобы быть уверенным, что это каталог, а не файл.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *