ค้นหาไฟล์ที่ระบุแบบเจาะจง ในทุกโฟลเดอร์/สับโฟลเดอร์ หาในgoogleแต่ใช้ไม่เป็น



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

14 ก.ย. 61 , 22:06:39
อ่าน 435 ครั้ง

nonc31

ต้องการค้นหาไฟล์ที่ระบุแบบเจาะจง เช่นต้องการค้นไฟล์ abc.doc ในทุกโฟลเดอร์/สับโฟลเดอร์ หาในgoogleแต่ใช้ไม่เป็น รันไม่ผ่าน :ouch:
มี code นึงเหมือนจะได้ รันผ่าน แต่เป็นการอ่านชื่อโฟลเดอร์ ส่วนการค้นหาไฟล์ผมไปต่อไม่เป็น :cry:

Private Sub Command3_Click()
Dim MyPath, MyName As String
MyPath = "C:\Program Files (x86)\"
MyName = Dir(MyPath, vbDirectory)   ' Retrieve the first entry.
Do While MyName <> ""   ' Start the loop.
      ' Use bitwise comparison to make sure MyName is a directory.
      If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
         ' Display entry only if it's a directory.
         MsgBox MyName
      End If
        MyName = Dir()   ' Get next entry.
Loop
End Sub

ใครมี Code มีลิงค์ รบกวนขอด้วยครับ

 

15 ก.ย. 61 , 14:03:10
ตอบกลับ #1

สันติสุข

อันนี้โค้ดที่ผมใช้ ตัวอย่างเวลาเรียกใช้ Call GetFoldersList("C:","MyFileName")

โค๊ด: [Select]
Public Sub GetFoldersList(PathNM As String, FileNM As String)
    Dim S               As String   ' PathNM + FileNM
    Dim SubFdStr        As String   ' เก็บรายชื่อ sub folder คั่นด้วยเครื่องหมาย ?
    Dim SubFdArray()    As String   ' แตกจาก SubFdStr อีกที
    Dim II              As Integer
   
    ' ถ้า folder มีไฟล์ที่ต้องการ
    If Dir(PathNM & "\" & FileNM) <> "" Then
        ' >>>>> เอา PathNM ไปใช้
    End If
   
    ' เก็บชื่อ sub folder ทั้งหมดไว้ก่อน
    S = Dir(PathNM & "\*", vbDirectory)
    Do Until S = ""
        If Right(S, 1) <> "." Then
            S = PathNM & "\" & S
            If GetAttr(S) = vbDirectory Then
                SubFdStr = SubFdStr & IIf(SubFdStr = "", "", "?") & S
            End If
        End If
        S = Dir()
    Loop

    ' แตกชื่อ sub folder ลง array แล้วค้นหาใน sub folder ต่อไป
    If SubFdStr <> "" Then
        SubFdArray = Split(SubFdStr, "?")
        For II = 0 To UBound(SubFdArray)
            Call GetFoldersList(SubFdArray(II), FileNM)
        Next
    End If
End Sub
ช่วยพกถุงผ้า/ถุงพลาสติกไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

16 ก.ย. 61 , 20:26:02
ตอบกลับ #2

nonc31

ขอบคุณครับ แต่ติด Error ตามไฟล์ที่แนบมานี้ครับ

อยากได้แบบนี้ครับ รบกวน อ.สันติสุข อีกทีครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: WISSANU

16 ก.ย. 61 , 21:02:03
ตอบกลับ #3

สันติสุข

ช่วยพกถุงผ้า/ถุงพลาสติกไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

17 ก.ย. 61 , 18:24:21
ตอบกลับ #4

nonc31

https://www.thai-access.com/index.php?action=dlattach;topic=485.0;attach=419
สงสัยต้องแจ้งให้เวปทำตัวอักษรชื่อไฟล์ที่อับโหลดขึ้นให้มันใหญ่แล้วครับ  :grin:

 

18 ก.ย. 61 , 23:20:24
ตอบกลับ #5

nonc31

ทำได้แล้วววววววววว งมยุนานนนนน แต่ก็ยังติดอยู่อีกนิดนึง คือ ค้นจาก C: แล้วมันวิ่งไปค้นไฟล์ไม่ทั่วถึง แต่ระบุ path ไปเลย เช่น C:\Program Files แบบนี้ค้นได้ดี  ใครที่ทำได้ดีแล้วจากโค๊ด อ.สันติสุข ก็เอามาแบ่งปันบ้างนะครับ  :grin: :grin: :meaw: :meaw:

 
โพสต์นี้ได้รับคำขอบคุณจาก: WISSANU


บอร์ดเรียนรู้ Access สำหรับคนไทย