Игорь Шаронов спрашивал как удалить
скрытую папку , если заранее ее имя неизвестно.
Вот что наклепалось по этому поводу. Пример
просто ищет скрытую папку - а уж что с ней делать
решать вам ;)Private Sub Form_Load()
Dim MyFile, MyPath, MyName
MyPath = "c:\" ' Установим путь
MyName = Dir(MyPath, vbDirectory + vbHidden) ' Установим шаблон
поиска
Do While MyName <> "" ' Запускаем цикл до
скончания списка файлов
If MyName <> "." And MyName <> ".." Then
' Убедимся, что нам подсовывают именно папку
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Ура! Это папка! На печать ее.
End If
'А уж не скрытая ли она?
If (GetAttr(MyPath & MyName) And vbDirectory + vbHidden) = vbDirectory + vbHidden Then
MsgBox MyName, vbOKOnly 'Ура-а-а-а! Она скрытая!
End If
End If
MyName = Dir ' Смотрим след. по списку
Loop
End Sub
На ваши вопросы отвечал Евгений
Еще примерчик на тему сканирования папок.
Пример использует библиотеку VBScript.dll
этот пример сканирует все папки и файлы на
любой уровень вложенности
начиная с указанного пути. По умолчанию - "C:\"
На форму положить кнопку и TreeView
Dim FSys As New Scripting.FileSystemObject
Private Sub Command1_Click()
Dim folderSpec As String
Set FSys = CreateObject("Scripting.FileSystemObject")
'Путь, от куда начинать сканирование
folderSpec = "C:\"
folderSpec = UCase(folderSpec)
TreeView1.Nodes.Add , , folderSpec, folderSpec
Screen.MousePointer = vbHourglass
ScanFolder (folderSpec)
Screen.MousePointer = vbDefault
TreeView1.Nodes(1).Expanded = True
MsgBox "Список файлов создан"
End Sub
'Рекурсивное сканирование папок в подпапках
Sub ScanFolder(folderSpec As String)
Dim thisFolder As Folder
Dim sFolders As Folders
Dim fileItem As File, folderItem As Folder
Dim AllFiles As Files
Set thisFolder = FSys.GetFolder(folderSpec)
Set sFolders = thisFolder.SubFolders
Set AllFiles = thisFolder.Files
For Each folderItem In sFolders
TreeView1.Nodes.Add folderItem.ParentFolder.Path, tvwChild, folderItem.Path,
folderItem.Name
ScanFolder (folderItem.Path) 'непосредственно рекурсивный
вызов
Next
For Each fileItem In AllFiles
TreeView1.Nodes.Add fileItem.ParentFolder.Path, tvwChild, fileItem.Path, fileItem.Name
Next
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set FSys = Nothing
End Sub
С вами был AlexV