如何从父路径中提取带扩展名的文件名?微软访问 VBA

How to extract file name with extension from parent path? MS Access VBA

我想获取父文件路径后的文件名及其扩展名。例如:从 C:\Desktop\Pictures\picture.jpg 检索 picture.jpg。 *注意:我不知道文件或图片的名称是什么。用户将自己添加这些,我想检索名称以将其显示在表单上。

这是我目前所知道的...

Private Sub InsertImageButton_Click()
Dim strImageID As String
Dim strFolder As String
Dim fso As Object
Dim strFormat As String

Const strParent = "C:\Desktop\Pictures\"

strImageID = Me.ImageID.Value
strFormat = Format(strImageID, "20-0000")

'Parent Path
strFolder = strParent & strFormat

'Create FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
'Check Whether Folder Exists
If fso.FolderExists(strFolder) = False Then
'If not, create it
    fso.CreateFolder strFolder
End If

'Open It
Shell "C:\Windows\explorer.exe """ & strFolder & "", vbNormalFocus

*当文件夹打开时,用户应在此处插入新图片。 在此之后,我希望文本框显示完整路径名,以便它也可以获得图片的名称。

'This is where I am stuck.
Me.[txtImageName].Value = strFolder & "\" & GetFilenameFromPath(strFolder)

我尝试从其他 Stack Overflow 问题中添加一个函数,但没有帮助。

Public Function GetFilenameFromPath(ByVal strPath As String) As String
' Returns the rightmost characters of a string upto but not including the rightmost '\'
' e.g. 'c:\winnt\win.ini' returns 'win.ini'
Dim picturepath 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

当前代码给我C:\Desktop\Pictures-0012-0012 我需要在不知道添加了什么的情况下添加图片的名称。 提前致谢!

Public Function GetFilenameFromPath(ByVal strPath As String) As String
    GetFilenameFromPath = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function

请尝试下一个功能:

Function GetFileName(strFullName As String) As String
    GetFileName = Split(strFullName, "\")(UBound(Split(strFullName, "\")))
End Function

上面的功能应该这样测试,如果讨论的文件夹包含单个文件:

dim fullFileName As String
fullFileName = Dir(strFolder & "\*.jpg")
MsgBox GetFileName(fullFileName)