Foxtable(狐表)用户栏目专家坐堂 → 为什么提取的文件名缺了很多?


  共有2803人关注过本帖树形打印复制链接

主题:为什么提取的文件名缺了很多?

帅哥哟,离线,有人找我吗?
南望
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
为什么提取的文件名缺了很多?  发帖心情 Post By:2015/5/22 11:28:00 [只看该作者]

为什么提取的文件名缺了很多?即提取的文件名不完整

单击事件:

Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "文件名"
Dim r As Integer = 1

Dim FilePath As WinForm.TextBox = e.Form.Controls("TextBox1")

If FileSys.DirectoryExists(FilePath.Value) Then
    Functions.Execute("文件名提取函数", FilePath.Text, Sheet, r)
End If

Book.Save("c:\reports\test.xls")


递归函数:

Dim path As String = args(0)
Dim Sheet As XLS.Sheet = args(1)
Dim r As Integer = args(2)

For Each file As String In FileSys.GetFiles(path)
    Dim Ifo As new FileInfo(file)
    If Ifo.hidden=False Then
        sheet(r,0).value = file
        r += 1
    End If
Next


For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("文件名提取函数", p, Sheet, r)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/22 11:29:00 [只看该作者]

例如:明明是5个目录9个文件,但只提取了3个目录6个文件

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:31:00 [只看该作者]

 

[此贴子已经被作者于2015/5/22 11:34:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:33:00 [只看该作者]

 

[此贴子已经被作者于2015/5/22 11:34:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/22 11:35:00 [只看该作者]

For Each p As String In FileSys.GetDirectories(path)
    '你在这里获取了下级文件夹路径, 但是并没有储存到任何地方去, 所以你只是提取文件名, 并没有提取目录
    Functions.Execute("文件名提取函数", p, Sheet, r)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 11:38:00 [只看该作者]

 嗯嗯,是写入excel的时候有点问题了,行数必须累加

 

单击事件:


Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "文件名"
vars("r") = 1


Dim FilePath As WinForm.TextBox = e.Form.Controls("TextBox1")


If FileSys.DirectoryExists(FilePath.Value) Then
    Functions.Execute("文件名提取函数", FilePath.Text, Sheet)
End If


Book.Save("c:\reports\test.xls")

 


递归函数:


Dim path As String = args(0)
Dim Sheet As XLS.Sheet = args(1)
Dim r As Integer = vars("r")


For Each file As String In FileSys.GetFiles(path)
    Dim Ifo As new FileInfo(file)
    If Ifo.hidden=False Then
        sheet(r,0).value = file
        r += 1
    End If
Next

vars(r) = r
For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("文件名提取函数", p, Sheet)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
南望
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/22 13:49:00 [只看该作者]

刚刚试过了,提取的个数还是缺少。

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/22 13:53:00 [只看该作者]

麻烦老师做到例子里测试一下吧

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 14:12:00 [只看该作者]

 

[此贴子已经被作者于2015/5/22 14:14:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/22 14:16:00 [只看该作者]

写错了

 

单击事件:


Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "文件名"
vars("r") = 1


Dim FilePath As WinForm.TextBox = e.Form.Controls("TextBox1")


If FileSys.DirectoryExists(FilePath.Value) Then
    Functions.Execute("文件名提取函数", FilePath.Text, Sheet)
End If


Book.Save("c:\reports\test.xls")

 


递归函数:


Dim path As String = args(0)
Dim Sheet As XLS.Sheet = args(1)
Dim r As Integer = vars("r")


For Each file As String In FileSys.GetFiles(path)
    Dim Ifo As new FileInfo(file)
    If Ifo.hidden=False Then
        sheet(r,0).value = file
        r += 1
    End If
Next

vars("r") = r
For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("文件名提取函数", p, Sheet)
Next


 回到顶部
总数 11 1 2 下一页