Программирование на 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
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
Можно как то обойти эту ошибку
-
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
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 40