วันศุกร์ที่ 27 กันยายน พ.ศ. 2556

การแยกชื่อไฟล์ ออกจาก Path ด้วย Access VBA

เมื่อมีการใช้ File Dialogue ให้ผู้ใช้เลือกไฟล์ในเครื่อง โดยให้แสดง File Dialog ดังภาพ

เมื่อผู้ใช้เลือกไฟล์ที่ต้องการและเราต้องการแยกชื่อไฟล์ออกจาก Path มีฟังก์ชั่น ที่ dzone.com สามารถนำไปใช้ได้ทันที ตามโค้ดตามโค้ดข้างล่างนี้

Function GetFilenameFromPath(ByVal strPath As String) As String  

If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
GetFilenameFromPath = GetFilenameFromPath(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)    
End If
End Function

ตัวอย่างการใช้งาน (บรรทัดที่มีตัวหนังสือสีแดง)

Private Sub Command0_Click()
On Error GoTo ErrHandler 
    Dim f As Object
    Dim fileAddress As String
    Dim selectedFileName As String
     Set f = Application.FileDialog(3)
         f.AllowMultiSelect = False
         f.Title = "โปรดเลือกไฟล์ภาพโลโก้ของท่าน"
         f.Filters.Clear
         f.Filters.Add "JPG Files", "*.jpg"
         f.Filters.Add "PNG Files", "*.png"
         f.Filters.Add "GIF Files", "*.gif"
         f.Filters.Add "Bitmap Files", "*.bmp"
     If f.Show Then
        fileAddress = f.SelectedItems(1)
     End If
     Set f = Nothing
    selectedFileName = GetFilenameFromPath(fileAddress) 'แยกเฉพาะชื่อไฟล์
    targetFile = CurrentProject.Path & "\certPics\logoCust_" & selectedFileName
    FileCopy fileAddress, targetFile 
   MsgBox "คัดลอกไฟล์เรียบร้อยแล้ว", vbOKOnly
exitProc:
    Exit Sub  
ErrHandler:
    If Err = 75 Then
        MsgBox "ท่านยังไม่ได้เลือกไฟล์", vbOKOnly
    Else
        MsgBox Err & ": " & Err.Description
    End If    
    Resume exitProc  
End Sub



ที่มา

http://stackoverflow.com/questions/1743328/how-to-extract-file-name-from-path
http://dzone.com/snippets/get-just-file-name-full-path

ไม่มีความคิดเห็น:

แสดงความคิดเห็น