การแยกชื่อไฟล์ ออกจาก 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
เมื่อผู้ใช้เลือกไฟล์ที่ต้องการและเราต้องการแยกชื่อไฟล์ออกจาก 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
ความคิดเห็น
แสดงความคิดเห็น