显示文件名,但不包括后缀,帮我看看问题出在哪?

qq_34451232 2016-05-06 11:40:13
在下初学VB。我想显示文件列表框中的文件名,但不包括后缀。
建立驱动器列表框、目录列表框和文件列表框,并将其组合。建立一command按钮,编写代码如下,比较简单,就不加说明了。

Private Sub Command1_Click()
Dim m As String, p As Integer
For i = 0 To File1.ListCount
m = File1.List(i)
p = InStr(1, m, ".")
m = Left(m, p - 1) '这行提示出错了
Print m
Next i
End Sub

运行时虽然也显示文件名,但提示“实时错误5:无效的过程调用或参数”。如果我把“m = Left(m, p - 1)”改成“m = Left(m, p)”就不提示出错了,但显示的文件名后面多了个点。
请问问题出在哪里,应该怎么改一下才能只显示文件名不显示点?
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2016-05-09
  • 打赏
  • 举报
回复
引用 2 楼 qq_34451232 的回复:
不明白你的意思。我是新手,能说具体点吗,需要怎么改代码才行?谢谢
你先检查 m 是不是"." 或 "..",这两个忽略不用处理。
qq_34451232 2016-05-06
  • 打赏
  • 举报
回复
引用 3 楼 Topc008 的回复:
打印p值看看,应该是0,这就造成了left(m,-1)肯定出错 debug.print p
最后一个数是显示0了,比如说有3个文件,显示了4个数,前三个数对应三个文件,都正常,第四个数是0。 那我应该怎么改动一下呢?
一如既往哈 2016-05-06
  • 打赏
  • 举报
回复
m = Left(m, p - 1) 把这行添加一个判断语句 if p>1 then m=left(m,p-1)
qq_34451232 2016-05-06
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
你没有处理两个特殊的路径名 "." 和 ".."。
不明白你的意思。我是新手,能说具体点吗,需要怎么改代码才行?谢谢
一如既往哈 2016-05-06
  • 打赏
  • 举报
回复
打印p值看看,应该是0,这就造成了left(m,-1)肯定出错 debug.print p
Tiger_Zhao 2016-05-06
  • 打赏
  • 举报
回复
你没有处理两个特殊的路径名 "." 和 ".."。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧