Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/187: Рейтинг темы: голосов - 187, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
1

Как проверить наличие файла?

02.07.2013, 11:52. Показов 36899. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно проверить есть ли файл по заданному пути ,например: "C:\Users\мвидио\Desktop\VBA\txt\123.txt"
Нужно проверить не был ли удален этот файл пользователем!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2013, 11:52
Ответы с готовыми решениями:

Проверить наличие текста в ячейке закрытого .xltx файла
Добрый день! Помогите, пожалуйста, решить задачку, готовые решения почему то не...

Как проверить наличие кнопки на листе
Создал. ActiveSheet.Buttons.Add(909, 375, 182, 25).Select Selection.Name = "Выбор" ...

Как проверить наличие подкаталога в каталоге?
Пож-ста помогите разобраться с этим вопросом. Например есть каталог 'C:first'. Как определить есть...

Как в ячейке с текстом проверить наличие скобок ()
Доброго дня уважаемые специалисты . Нужна ваша помощь. Есть таблица состоящая из 3 столбцов....

7
997 / 356 / 135
Регистрация: 27.10.2006
Сообщений: 764
02.07.2013, 12:03 2
Можно через функцию Dir()

Visual Basic
1
2
3
4
5
If Dir("C:\Users\мвидио\Desktop\VBA\txt\123.txt") = "" Then
msgbox "Файла нет"
Else
msgbox "Файл есть"
End if
Можно через FileSystemObject
Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim fso as object, Path  as string
 
Set fso = CreateObject("Scripting.FileSystemObject")
Path = "C:\Users\мвидио\Desktop\VBA\txt\123.txt"
 
    If fso.FileExists(Path) Then
        MsgBox "Файл присутствует"
    Else
        MsgBox "Файла нет"
    End If
4
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
02.07.2013, 13:08 3
To Pavel55. У меня документы часто мигрируют. Полностью/частями. Мне кажется, более гибкий вариант - програмно открыть диалог выбора файла. Ничего не выбрано - значит нет, что-то делаем. Выбрано - какие-то другие действия. Для моей деятельности - жесткие пути совсем не подходят.
0
997 / 356 / 135
Регистрация: 27.10.2006
Сообщений: 764
02.07.2013, 13:38 4
учту на будущее, что у вас файлы часто мигрируют )
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
02.07.2013, 13:42 5
Думаю, не только у меня...
0
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 22
24.08.2021, 13:04 6
Pavel55,Igor_Tr, А есть ли возможность проверить наличие скрытого файла? Предложенными вами методами удается проверить наличие только обычных файлов.
0
834 / 484 / 186
Регистрация: 09.03.2009
Сообщений: 1,664
24.08.2021, 13:22 7
Вы можете использовать функцию Dir с параметром vbHidden
Visual Basic
1
2
3
4
5
6
Sub test1()
   Dim fileN As String
 
   fileN = "D:\KW\Reestr\IterPara.txt"
   If Dir(fileN, vbHidden) <> "" Then MsgBox fileN & " существует"
End Sub
Это ДОБАВИТ выдачу скрытых файлов к обычным. То есть, если у вас есть файл IterPara.txt и на нем дополнительных атрибутов не стоит, он будет выдан. Если он скрытый - тоже выдан. А если на нем стоит, например, атрибут "системный" и не стоит "скрытый" - не будет. Ну и в случае, если такого файла нет.

Если же надо выдать сообщение тогда и только тогда, когда файл имеет атрибут "скрытый", лучше воспользоваться FSO. Тут перебор файлов в каталоге, но можно и отдельный проверять.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub test2()
   Dim oFSO As Object, oFolder As Object, oFile As Object
 
   Set oFSO = CreateObject("Scripting.FileSystemObject")
   Set oFolder = oFSO.GetFolder("D:\KW\Reestr")
 
   For Each oFile In oFolder.Files
     If oFile.Attributes And 2 Then
         MsgBox oFile.Path & " is Hidden"
     End If
   Next
End Sub
1
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 22
24.08.2021, 13:24 8
Zeag, Благодарю!
0
24.08.2021, 13:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.08.2021, 13:24
Помогаю со студенческими работами здесь

Как проверить наличие определённого слова в столбце?
Здравствуйте! :) Уважаемые форумчане, Есть столбец ячеек в которых находятся слова, например...

Проверить наличие закладки
Добрый день. Есть код написанный в VBA. Option Compare Database Option Explicit Function...

Проверить ячейку на наличие имени
Всем привет, подскажите пожалуйста, как проверить ячейку на наличие имени?

Проверить наличие ссылки на веб-странице
Добрый день, на фрейме веб-страницы может располагаться ссылка с текстом Взять задачу в работу. Но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru