如何从父路径中提取带扩展名的文件名?微软访问 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)
我想获取父文件路径后的文件名及其扩展名。例如:从 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)