vb 如何通过一个文件的全路径获得该文件所在文件夹
答案:4 悬赏:70 手机版
解决时间 2021-03-27 01:16
- 提问者网友:心如荒岛囚我终老
- 2021-03-26 15:28
vb 如何通过一个文件的全路径获得该文件所在文件夹
最佳答案
- 五星知识达人网友:轮獄道
- 2021-03-26 15:35
解决这个问题有两种方法。
第一种:知道了文件的全路径,那么路径中当然也包含文件所在的文件夹信息,只要从中提取即可。例如,已知文件全路径为“C:WindowsSystem32abc.dll”并赋予变量strPt,可用过下面语句获取文件夹。
left(strPt,instrrev(strPt,""))instrrev函数的作用是从右侧开始查找指定字符串,并返回数值,此处返回值为20.left函数的作用是从左往右取N个字符,此例中取20个,最后结果为:C:WindowsSystem32。
第二种方法:使用FileSystemObject对象。代码如下:
dim fso as object, strFolder as object
set fso = createobject("scripting.filesystemobject")
set strFolder = fso.getfolder("C:WindowsSystem32abc.dll")
msgbox strFolder.path文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。
第一种:知道了文件的全路径,那么路径中当然也包含文件所在的文件夹信息,只要从中提取即可。例如,已知文件全路径为“C:WindowsSystem32abc.dll”并赋予变量strPt,可用过下面语句获取文件夹。
left(strPt,instrrev(strPt,""))instrrev函数的作用是从右侧开始查找指定字符串,并返回数值,此处返回值为20.left函数的作用是从左往右取N个字符,此例中取20个,最后结果为:C:WindowsSystem32。
第二种方法:使用FileSystemObject对象。代码如下:
dim fso as object, strFolder as object
set fso = createobject("scripting.filesystemobject")
set strFolder = fso.getfolder("C:WindowsSystem32abc.dll")
msgbox strFolder.path文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。
全部回答
- 1楼网友:大漠
- 2021-03-26 17:26
Private Sub Command1_Click()
Dim i&, s$
s = "d:123123asd123.txt"
i = InStrRev(s, "")
If (i = 3) Then
s = Left$(s, i)
Else
s = Left$(s, i - 1)
End If
MsgBox "路径为:" & s, 32
End Sub
Dim i&, s$
s = "d:123123asd123.txt"
i = InStrRev(s, "")
If (i = 3) Then
s = Left$(s, i)
Else
s = Left$(s, i - 1)
End If
MsgBox "路径为:" & s, 32
End Sub
- 2楼网友:千杯敬自由
- 2021-03-26 16:32
dim s as string
dim i
s="d:\123\123\asd\123.txt"
i=InStrRev(s,"\") ''最右侧 \ 字符位置
s =Left$(s, i-1) ''s即是路径(文件夹)d:\123\123\asd
debug.print s ''显示 d:\123\123\asd
dim i
s="d:\123\123\asd\123.txt"
i=InStrRev(s,"\") ''最右侧 \ 字符位置
s =Left$(s, i-1) ''s即是路径(文件夹)d:\123\123\asd
debug.print s ''显示 d:\123\123\asd
- 3楼网友:归鹤鸣
- 2021-03-26 15:48
'编写函数,获取
Private Function GetLuJIn(ByVal a As String) As String
Dim i As Long
For i = Len(a) To 1 Step -1
If mid(a,i,1) = "" Then '获取最后一个""位置
GetLuJin = Left(a,i-1) '函数返回最后一个""前面的东西
Exit Function '获取之后,函数没什么事了,退出
End if
Next i
End Function
Private Function GetLuJIn(ByVal a As String) As String
Dim i As Long
For i = Len(a) To 1 Step -1
If mid(a,i,1) = "" Then '获取最后一个""位置
GetLuJin = Left(a,i-1) '函数返回最后一个""前面的东西
Exit Function '获取之后,函数没什么事了,退出
End if
Next i
End Function
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯