Необходимо прочитать название файлов и записать ...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Необходимо прочитать название файлов и записать ...

Сообщение alex77777 » 17.03.2005 (Чт) 11:11

Всем привет!

Есть каталог с файлами 111.txt, 222.txt и тд .
Необходимо прочитать название файлов и записать данные в Excell.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

asdasd

Сообщение uhm » 17.03.2005 (Чт) 11:17

Способов много. Например, пишем макрос в Экселе

Код: Выделить всё
    Set fs = Application.FileSearch
    With fs
        .LookIn = "c:\temp"
        .Filename = "*.txt"
        a = .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending)
        If a > 0 Then
        For i=1 to a
             Msgbox .FoundFiles(i)
        Next i
   End With

Последний раз редактировалось uhm 17.03.2005 (Чт) 11:46, всего редактировалось 1 раз.

alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Сообщение alex77777 » 17.03.2005 (Чт) 11:43

ошибка :( . Sub or Function not defined.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 17.03.2005 (Чт) 11:46

Сорри, должно быть

.FoundFiles(i)

Забыл точку перед FoundFiles поставить.

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 17.03.2005 (Чт) 12:01

Записать в Excel? Названия файлов или их содержимое? Если названия, то вот:
Код: Выделить всё
Private Sub Command1_Click()
Excel.Application.SheetsInNewWorkbook = 1
Excel.Application.Workbooks.Add
    On Error GoTo err
    Dim nList As Variant, sFile As String, nCounter As Long
    sFile = Dir(Path & "c:\*.txt")
    While sFile <> vbNullString
        nCounter = nCounter + 1
        Excel.ActiveSheet.Cells(nCounter, 0) = sFile
        List1.AddItem sFile
        sFile = Dir()
    Wend
Excel.Application.Visible = True
    Exit Sub
err:
    If err.Number > 0 Then MsgBox err.Description, vbCritical Or vbOKOnly Or vbDefaultButton1, "Error #" & CStr(err.Number)
End Sub

При этом должны быть подключены библиотеки VS Office и MS Excel
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 17.03.2005 (Чт) 12:03

О-о-ох!!! Извиняюсь! В строке №9 ошибка - вместо нуля должна быть единица. :?
Строка должна выглядеть вот так:
Код: Выделить всё
Excel.ActiveSheet.Cells(nCounter, 0) = sFile
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 17.03.2005 (Чт) 12:04

Да что за день сегодня? Вот ведь я дурак... Опять нолдь не исправил.
Вот:
Код: Выделить всё
Excel.ActiveSheet.Cells(nCounter, 1) = sFile
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Сообщение alex77777 » 17.03.2005 (Чт) 12:31

uhm, Andrev спасибо.

uhm мне надо чтобы в Excell добавлял

alex77777
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 27.09.2004 (Пн) 19:15

Сообщение alex77777 » 17.03.2005 (Чт) 19:21

Andrev, каждый раз при запуске ошибка вылетает :

Object required

Можно как то обойти эту ошибку :D

Andrev
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 19.01.2005 (Ср) 9:22
Откуда: Kursk

Сообщение Andrev » 18.03.2005 (Пт) 9:13

А ты библиотеки требуемые подключил? Если нет - подключи. Если да - подключи еще до кучи и библиотеку DAO 3.6
В этой жизни нет ничего невозможного. Если у вас что-то не получается, значит, вы что-то делаете не так.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 18.03.2005 (Пт) 11:18

Ну елы-палы, если есть массив fs.Foundfiles, содержащий все имена, неужели трудно самому его в нужные ячейки записать?!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 45

    TopList