Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Названия папок / 12 сообщений из 12, страница 1 из 1
02.07.2008, 16:42
    #35407090
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Доброго всем времени суток!

Как можно скопировать названия папок, находящихся в определённой директории??

Напр, у меня есть папка "D:/Example", а в ней 10 других папок. Так вот, как можно скопировать их названия?

Заранее спасибо;)

...
Рейтинг: 0 / 0
02.07.2008, 17:18
    #35407215
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
microsoft runtime scripting - библиотека fileSystemObject - объект... Очень удобное решение.
...
Рейтинг: 0 / 0
02.07.2008, 17:30
    #35407252
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
хмм, а тогда не подскажете решение другой проблемы? Эта библиотека не добавляется.. C:\WINDOWS\system32\scrrun.dll пытаюсь подключить этот файл, однако появляется сообщение о том что файл не может быть загружен...

...
Рейтинг: 0 / 0
02.07.2008, 18:35
    #35407406
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Точнее, если подключть при помощи reference, то потом когда пытаюсь подключить в копонентах, сообщается о том что файл не зарегистрирован корректно... Регистрирую при помощи regsvr32 но не помогает! В чём проблема?
...
Рейтинг: 0 / 0
02.07.2008, 19:04
    #35407455
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Блин, подключил-таки библиотеку... ток нифига не понимаю как ей пользоваться! читаю другую документацию, но нифига не пойму..

плиз, приведите кто-нидь краткий пример как осуществить желаемое действие?
...
Рейтинг: 0 / 0
02.07.2008, 19:43
    #35407488
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
ы, всё разобрался ;))

Уряя))
...
Рейтинг: 0 / 0
02.07.2008, 20:07
    #35407521
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Направление, в котором можно начать действовать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub ScanSubFolders(ByVal pstrFolder As String)
    Dim objFSO As New Scripting.FileSystemObject
    Dim objSubFolder As Folder
    Dim objFolder As Folder
    
On Error GoTo MethodExit
        
    Set objFolder = objFSO.GetFolder(pstrFolder)
    
    For Each objSubFolder In objFolder.SubFolders
        Debug.Print objSubFolder.Name
        ScanSubFolders objSubFolder.Path
    Next objSubFolder
                    
MethodExit:
        
    If Err.Number <>  0  Then
        MsgBox "Error " & CStr(Err.Number) & " in ScanSubFolders" & vbCr & Err.Description
    End If
End Sub
...
Рейтинг: 0 / 0
03.07.2008, 16:37
    #35409550
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
> Автор: Morion
> ы, всё разобрался ;))

Справка Microsoft Visual Basic от Excel
Dir Function Example
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
' Display the names in C:\ that represent directories.
MyPath = "c:\"    ' Set the path.
MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.
Do While MyName <> ""    ' Start the loop.
    ' Ignore the current directory and the encompassing directory.
    If MyName <> "." And MyName <> ".." Then
        ' Use bitwise comparison to make sure MyName is a directory.
        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
            Debug.Print MyName    ' Display entry only if it
        End If    ' it represents a directory.
    End If
    MyName = Dir    ' Get next entry.
Loop



> Уряя))
Конечно ура, в интырнете побывал ;))

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
03.07.2008, 17:28
    #35409709
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Сделайте ссылку на Microsoft Shell Control and Automation. Поставьте листбох и кнопку. Скопируйте код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Private Function vbBrowseForFolder(Optional strRoot As Variant) As String
    
    Dim myFolder As Shell32.Folder

    With New Shell32.Shell
        Set myFolder = .BrowseForFolder(Form1.hWnd, "Select a folder from the tree",  0 , strRoot)
        If Not myFolder Is Nothing Then vbBrowseForFolder = myFolder.ParentFolder.ParseName(myFolder.Title).Path
   End With
End Function

Private Sub Command1_Click()
   vbBrowseForFolder "c:\temp"
End Sub
...
Рейтинг: 0 / 0
03.07.2008, 22:05
    #35410236
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Мну сделал немног по-другому. Присоединил библиотеку Microsoft Runtime Scripting , добавил ListBox и написал:

Код: plaintext
1.
2.
3.
4.
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Str_Path)
For Each SubFolder In Folder.SubFolders
  List1.AddItem (SubFolder.Name)
Next

но всё равно всем пасиб)
...
Рейтинг: 0 / 0
04.07.2008, 14:41
    #35411627
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
> Автор: Morion
> Мну сделал немног по-другому.

Тву мог-бы сделать ещё проще. Использовать DirListBox.
Ну вообщем способов масса :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
06.07.2008, 14:28
    #35413434
Morion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия папок
Игорь Горбонос
Тву мог-бы сделать ещё проще. Использовать DirListBox.


Раньше не мог... Тока ща допёр, как это сделать... =))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Названия папок / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]