文件夹包含文件数、文件夹拷贝以及进度条使用的相关问题

rwj81 2003-07-21 10:14:39
我的程序中利用了 fso.CopyFolder 的方法对文件夹进行复制,现在我想做一个显示当前拷贝状态的进度条,有什么好办法吗?
能否先得知文件夹中的文件数,再得知当前拷贝的是第几个文件,怎样来实现?
...全文
118 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rwj81 2003-07-31
  • 打赏
  • 举报
回复
以下我已测试过,可以,谢谢applehoo(苹果壶) ,结贴接分!

Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim sName As String, sFile As String, sExt As String
Dim sDirList() As String, iDirNum As Integer, I As Integer
Dim FileName(52) As String * 20

'首先枚举所有文件
'sFile = Dir(sDirName + FileFilter, vbNormal + vbArchive + vbHidden)
sFile = Dir("d:\job\*.*", vbNormal + vbArchive + vbHidden)
I = 0
Do While Len(sFile) > 0
sFile = UCase(Trim(sFile))
Print sFile
I = I + 1
FileName(I) = fso.GetFilename(sFile) '此处没进行过测试。
sFile = Dir
Loop
'拷贝文件
ProgressBar1.Visible = True
ProgressBar1.Min = 0
ProgressBar1.Max = I

For j = 1 To I

ProgressBar1.Value = j

'fso.CopyFile FileName(j), aim_Folder
fso.CopyFile "d:\job\" + FileName(j), "d:\11\"

Next
MsgBox "OK!"

End Sub
rwj81 2003-07-28
  • 打赏
  • 举报
回复
自己顶一下
applehoo 2003-07-28
  • 打赏
  • 举报
回复
工程部件:Microsoft Windows Common Control X.0
绘制:ProgressBar(进度条)

“能否先得知文件夹中的文件数,再得知当前拷贝的是第几个文件,怎样来实现?”

思路: 枚举源文件夹全部文件名,以拷贝文件的方法拷贝至目的文件夹。
下面代码为枚举代码及拷贝代码:[没测试过。]

Dim sName As String, sFile As String, sExt As String
Dim sDirList() As String, iDirNum As Integer, I As Integer

'首先枚举所有文件
sFile = Dir(sDirName + FileFilter, vbNormal + vbArchive + vbHidden)
I = 1
Do While Len(sFile) > 0
sFile = UCase(Trim(sFile))
Debug.Print sFile
I = I + 1
FileName(I)=FSo.GetFilename(sFile) '此处没进行过测试。
sFile = Dir
Loop
'拷贝文件
ProgressBar1.Visible = True
ProgressBar1.Min = 0
ProgressBar1.Max = i

For j=1 to I

ProgressBar1.Value = i

Fso.CopyFile Filename(j),aim_Folder

Next
Msgbox "OK!"
rwj81 2003-07-23
  • 打赏
  • 举报
回复
楼上的给点提示,我现在一点头绪都没有
cwj88888 2003-07-21
  • 打赏
  • 举报
回复
去网上找一些有关这方面的控件,我以前找过,不过忘了名字了

1,488

社区成员

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

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