в этом случае, когда я выбираю текстовое значение из поля ввода, оно не работает. Если, Однако, если удалить "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$( , ) — где в качестве первого параметра передаем путь директории или файла, а второго — параметры поиска файлов.
Описание функции
Формула =ФАЙЛСУЩ(ПУТЬ) определяет имеется ли файл по заданному пути или нет. Если файл существует и доступен, то формула вернет значение ИСТИНА, если нет — ЛОЖЬ. Функция имеет только один аргумент:
- ПУТЬ — полный путь к файлу, существование которого необходимо проверить
Пример
Пример проверки наличия файла по заданному пути