VB编程之End Function

出错的程序如下:SubFindfile(getPathAsString)DimmypathAsStringDimmynameAsStringDimmydirectory(... 出错的程序如下:
Sub Findfile(getPath As String)
Dim mypath As String
Dim myname As String
Dim mydirectory() As String
Dim i, intresult As Integer
mypath = getPath
If mypath = "" Then End Function
intresult = 2
ReDim mydirectory(intresult)
mydirectory(1) = mypath
i = 1
Do Until mydirectory(i) = ""
mypath = mydirectory(i)
If Right(mypath, 1) <> "\" Then mypath = mypath & "\"
myname = Dir(mypath, vbDirectory)
Do While myname <> ""
If myname <> "." And myname <> ".." Then
If (GetAttr(mypath & myname) And vbDirectory) = vbDirectory Then mydirectory(intresult) = mypath & myname
intresult = intresult + 1
ReDim Preserve mydirectory(intresult)
Else
List1.AddItem mypath & myname
End If
End If
myname = Dir
Loop
i = i + 1
Loop
End Sub
编译时总是提示“expected end sub”,而将“end function”改为“end sub”后,却又提示“Syntax error”............
请教各位VB编程高手:应该怎样修改这段程序啊?先谢谢大家了!
展开
 我来答
点点要吃牛肉bi
2009-05-19 · TA获得超过1603个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:0
展开全部
If mypath = "" Then End Function

改为
If mypath = "" Then Exit Function
最后在End Function 前加一个return语句就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慢慢变富55
2009-05-17 · 超过33用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:97万
展开全部
Sub Findfile(getPath As String)

Dim mypath As String

Dim myname As String

Dim mydirectory() As String

Dim i, intresult As Integer

mypath = getPath

If mypath = "" Then End Sub
intresult = 2
ReDim mydirectory(intresult)
mydirectory(1) = mypath
i = 1

Do Until mydirectory(i) = ""
mypath = mydirectory(i)

If Right(mypath, 1) <> "\" Then mypath = mypath & "\"
myname = Dir(mypath, vbDirectory)

Do While myname <> ""

If myname <> "." And myname <> ".." Then
If (GetAttr(mypath & myname) And vbDirectory) = vbDirectory Then mydirectory(intresult) = mypath & myname
intresult = intresult + 1
ReDim Preserve mydirectory(intresult)
Else
List1.AddItem mypath & myname
End If

myname = Dir
Loop

i = i + 1
Loop

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LiWei_2008
2009-05-17 · TA获得超过4525个赞
知道小有建树答主
回答量:884
采纳率:0%
帮助的人:788万
展开全部
Do Until mydirectory(i) = ""
这一句有问题,until 好像应该出现在Loop 后面。
If mypath = "" Then End Function

改为
If mypath = "" Then Exit Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b636fa
2009-05-17 · TA获得超过1237个赞
知道小有建树答主
回答量:866
采纳率:100%
帮助的人:1403万
展开全部
1.将
If mypath = "" Then End Function

改为
If mypath = "" Then Exit Sub

2.去掉两个 End If 中的一个(在 myname = Dir 的上面)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dxhy123
2009-05-17 · TA获得超过159个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:131万
展开全部
最好不要将这段代码定义为独立过程,直接写在事件里比较好处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式