以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  文件列表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66202)

--  作者:wh420
--  发布时间:2015/4/1 1:28:00
--  文件列表问题

老师帮忙看看下面代码中标红部分,我想让文件在循环时文件名一个一个的显示在文本框内(即处理哪一个就显示出哪个)可实际上却是所有的循环都执行完了文件名才一起显示出来。

 


For Each file As String In FileSys.GetFiles(path)
Dim txt1 As WinForm.TextBox = Forms("窗口1").Controls("TextBox3")
txt1.Text &= vbcrlf & file & vbcrlf
    Dim Book1 As New XLS.Book(file)
    Dim Sheet1 = Book1.Sheets(0)

    For i As Integer = 0 To Sheet1.Rows.Count-1
        For j As Integer = 0 To Sheet1.Cols.Count -1
            If Sheet1(i, j).Text > ""  AndAlso dic.ContainsKey(Sheet1(i, j).Text) Then
                \'Output.Show(Sheet1(i, j).Text & vbcrlf & dic(Sheet1(i, j).Text))
                Sheet1(i, j).value = Sheet1(i, j).Text & "|" & dic(Sheet1(i, j).Text)
               
            End If
        Next
    Next

    \'//保存
   
    Book1.Save(file)
Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("递归", p)
Next
\'Catch ex As Exception
\'messagebox.show("当前文件发生错误,请检查!")
End try

[此贴子已经被作者于2015/4/1 16:08:13编辑过]

--  作者:Bin
--  发布时间:2015/4/1 8:36:00
--  
参考帮助 http://www.foxtable.com/help/topics/1476.htm
--  作者:wh420
--  发布时间:2015/4/1 16:08:00
--  

问题解决,多谢


--  作者:wh420
--  发布时间:2015/4/1 17:03:00
--  
追加个问题,如何在上面代码中加一个该目录下总的文件个数(包括子目录)显示在label中?
--  作者:Bin
--  发布时间:2015/4/1 17:05:00
--  
那要先递归遍历获取,效率低,不建议这样做.
--  作者:有点甜
--  发布时间:2015/4/1 17:07:00
--  
以下是引用wh420在2015/4/1 17:03:00的发言:
追加个问题,如何在上面代码中加一个该目录下总的文件个数(包括子目录)显示在label中?

 

加一个public变量,比如叫 count

 

然后那你在循环那里面 count = count + 1 最后就能得到你要的了啊


--  作者:wh420
--  发布时间:2015/4/1 17:13:00
--  
以下是引用Bin在2015/4/1 17:05:00的发言:
那要先递归遍历获取,效率低,不建议这样做.

那应该如何做最好,我页面中有一个TEXTBOX,里面输出了所有的文件名,直接统计TEXTBOX有多少行是不是就等于统计出文件个数?如何实现?


--  作者:Bin
--  发布时间:2015/4/1 17:14:00
--  
看6楼
--  作者:有点甜
--  发布时间:2015/4/1 17:14:00
--  
 看6楼。
--  作者:wh420
--  发布时间:2015/4/1 17:22:00
--  
OK,count = count + 1加到哪一行比较合适?