北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
下面的代码是我用来读取特定文件夹中文本文件信息的代码,有如下问题需要请教:
1. 尽管我使用了 Me.JDT.Requery进行刷新,但文本框JDT并没有进行实时刷新,而是过几秒刷新一下。
2. 目前我的进度条JDT只能显示读取文件的个数,我本想显示百分比的进度条,但不会取文件夹中文件的总数。
请尽量在此代码基础上修改,我百度了很多方法但都没办法结合到我自己的代码中,万分感谢!
i = 0
Dim fso As New FileSystemObject
Dim fld As Folder, f As File
Dim ssql As String
folderpath = "Y:\EDIBAK\"
If fso.FolderExists(folderpath) = True Then
Set fld = fso.GetFolder(folderpath)
For Each f In fld.Files
'向表中新增记录
If f.Name <> "pagefile.sys" Then
Close #1
Open folderpath & f.Name For Input As #1 ' 打开文件。
Line Input #1, ediwj ' 读入一行数据并将其赋予某变量。
bwlx = Mid(ediwj, 4, 6)
If bwlx = "BAPLIE" Then
Line Input #1, ediwj ' 读入一行数据并将其赋予某变量。
If Mid(ediwj, 1, 3) <> "10:" Then
Line Input #1, ediwj
End If
If Mid(ediwj, 1, 3) <> "10:" Then
Line Input #1, ediwj
End If
wz10_1 = InStr(1, ediwj, ":", 1)
wz10_2 = InStr(wz10_1 + 1, ediwj, ":", 1)
wz10_3 = InStr(wz10_2 + 1, ediwj, ":", 1)
wz10_4 = InStr(wz10_3 + 1, ediwj, ":", 1)
wz10_5 = InStr(wz10_4 + 1, ediwj, ":", 1)
cmhc = Mid(ediwj, wz10_2 + 1, wz10_3 - wz10_2 - 1) & "/" & Mid(ediwj, wz10_4 + 1, wz10_5 - wz10_4 - 1)
'MsgBox "创建时间:" & f.DateCreated & vbCrLf & "修改时间:" & f.DateLastModified & vbCrLf & "访问时间:" & f.DateLastAccessed, vbInformation, f.Name & "属性"
ssql = "insert into TB1 (文件名,报文类型,创建时间,船名航次,字节) values ('"
ssql = ssql & f.Name & "','"
ssql = ssql & bwlx & "','" & _
f.DateCreated & vbCrLf & "','" & _
cmhc & "'," & _
Round(f.Size / 1024, 0) & ")"
CurrentDb.Execute ssql
End If
End If 'BAPLIE
i = i + 1
Me.JDT = i
Me.JDT.Requery
Next
End If
Set f = Nothing
Set fld = Nothing
Set fso = Nothing