Поиск файлов по маске - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Изучаю vba. Дали задание сделать поиск файлов по маске. Посмотрите пожалуйста, может что нибудь надо доработать. ФОрма
Листинг программы
  1. Private serch As New serch
  2. Private Sub CommandButton1_Click()
  3. On Error GoTo Errors1
  4. Dim i As Integer
  5. serch.raspol = textbox1.Text
  6. serch.mask = textbox2.Text
  7. For i = 1 To serch.k
  8. listbox1.AddItem (serch.item(i))
  9. Next i
  10. GoTo Ends:
  11. Errors1:
  12. Resume Next
  13. Ends:
  14. End Sub
Класс
Листинг программы
  1. Private mraspol As String
  2. Private nmask As String
  3. Private fnp(1000000) As String
  4. Private lnarraynum As Integer
  5. Private lngsheet As Long
  6. Public mstr As String
  7. Public Property Let raspol(ByVal inewraspol As String)
  8. mraspol = inewraspol
  9. End Property
  10. Public Property Let mask(ByVal inewMask As String)
  11. nmask = inewMask
  12. Call search(mraspol, nmask, lngsheet)
  13. End Property
  14. Public Property Get item(lnarraynum As Integer) As String
  15. item = fnp(lnarraynum)
  16. End Property
  17. Public Property Get k() As Long
  18. k = lnarraynum
  19. End Property
  20. Public Sub search(mraspol As String, nmask As String, lngsheet As Long)
  21. Dim mstr, strfldrlist() As String
  22. Dim lngarraymax, x As Long
  23. lngarraymax = 0
  24. strFileName = Dir(mraspol & "*.*", vbDirectory + vbNormal)
  25. While strFileName <> ""
  26. If strFileName <> "." And strFileName <> ".." Then
  27. If (GetAttr(mraspol & strFileName) And vbDirectory) = vbDirectory Then
  28. lngarraymax = lngarraymax + 1
  29. ReDim Preserve strfldrlist(lngarraymax)
  30. strfldrlist(lngarraymax) = mraspol & strFileName & "\"
  31. Else
  32. If strFileName Like nmask Then
  33. mstr = mraspol & strFileName
  34. lnarraynum = lnarraynum + 1
  35. fnp(lnarraynum) = mstr
  36. End If
  37. End If
  38. End If
  39. strFileName = Dir()
  40. Wend
  41. If lngarraymax <> 0 Then
  42. For x = 1 To lngarraymax
  43. Call search(strfldrlist(x), nmask, lngsheet)
  44. Next
  45. End If
  46. End Sub
Спасибо

Решение задачи: «Поиск файлов по маске»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.     Dim Z As String, col As Collection
  5.    
  6.     Z = Dir("D:\Temp\AUD*.3gp")
  7.     Set col = New Collection
  8.    
  9.     Do While Len(Z)
  10.         col.Add Z
  11.         Z = Dir()
  12.     Loop
  13. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы