Vba excel проверка наличия файла

в этом случае, когда я выбираю текстовое значение из поля ввода, оно не работает. Если, Однако, если удалить "the sentence" от If Dir() и замените его фактическим именем в коде, он работает. Кто-нибудь может помочь?

7 ответов

Примечание код содержит Dir("thesentence") что должно быть Dir(thesentence) .

измените код на этот

использовать FileDialog объект, чтобы пользователь выбрал файл из файловой системы. Добавьте ссылку в проект VB или в Редактор VBA в Microsoft Office Library и посмотрите в справке. Это намного лучше, чем когда люди вступают на полный путь.

пример использования msoFileDialogFilePicker чтобы пользователь мог выбрать несколько файлов. Вы также можете использовать msoFileDialogOpen .

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

исправление к fileExists от @UberNubIsTrue:

Функция поиска файлов (vba check file)

Все больше замечаю, что многие люди в VBA пользуются конструкцией On Error для проверки ошибок, в частности с оператором GoTo. Я очень не люблю данный оператор, т.к. он затрудняет чтение кода и отладку, да и прыжки в программе не благодарное дело… Поэтому я расскажу, как проверить существование файла (vba check file) более цивилизованными методами.

Функция Dir$( , ) — где в качестве первого параметра передаем путь директории или файла, а второго — параметры поиска файлов.

Описание функции

Формула =ФАЙЛСУЩ(ПУТЬ) определяет имеется ли файл по заданному пути или нет. Если файл существует и доступен, то формула вернет значение ИСТИНА, если нет — ЛОЖЬ. Функция имеет только один аргумент:

  • ПУТЬ — полный путь к файлу, существование которого необходимо проверить
Читайте также:  Unknown device identifier на русском языке

Пример

Пример проверки наличия файла по заданному пути

Rate this post

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

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