用VB怎么监控文件夹是否有新的文件生成?

用VB怎么监控文件夹是否有新的文件生成?某一文件夹在不定时的生成新的文件,如果有新的文件生成时则读取新文件。这样的功能怎么实现?TXT的格式... 用VB怎么监控文件夹是否有新的文件生成?
某一文件夹在不定时的生成新的文件,如果有新的文件生成时则读取新文件。这样的功能怎么实现?TXT的格式
展开
 我来答
daviddyn
2011-08-09 · TA获得超过556个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:160万
展开全部
我自创的方法。考虑到实时检测是否有新文件,应该用一个Timer。

画两个FileListBox控件,控件名分别为File1、File2;画一个TextBox,名为Text1;画一个Timer,名为Timer1。要求将目标文件夹新生成的Txt文件内容显示到Text1中。

Private Sub Form_Load()
File1.Path = "在引号里打上要监测的路径。如果路径不是某个盘的根目录则不要在最后一个文件夹名的后面打上“\”"
File2.Path = File1.Path
File1.Pattern = "*.txt"
File2.Pattern = "*.txt"
File1.Visible = False
File2.Visible = False
Timer1.Interval = 在等号后面打上一个整数用来确定扫描新文件的频率,单位是毫秒,最低值是1
End Sub

Private Sub Timer1_Timer()
File2.Refresh
If File2.ListCount > File1.ListCount Then
If File1.ListCount = 0 Then
File2.ListIndex = 0
Else
i = 0
File1.ListIndex = i
File2.ListIndex = i
Do While File2.FileName = File1.FileName And i <= File1.ListCount - 1
File1.ListIndex = i
File2.ListIndex = i
i = i + 1
Loop
If i = File1.ListCount - 1 Then
File2.ListIndex = i - 1
Else
File2.ListIndex = i
End If
End If
url = File2.Path
If Right(url, 1) <> "\" Then
url = url & "\"
End If
url = url & File2.FileName
Open url For Input As #1
Text1.Text = StrConv(InputB(LOF(1), #1), vbUnicode)
Close #1
File1.Refresh
End If
If File2.ListCount < File1.ListCount Then
File1.Refresh
End If
End Sub

绝对好使,我在VB上试过了。
追问
能不能不用FileListBox这二个控件
追答
如果你确定了新生成的文件的文件名是什么,那么你可以用Dir语句来判断在目标文件夹中是否该文件。例如:
Dim a As String
a = Dir("D:\新建文本文档.txt")
如果在D:\中,有"新建文本文档.txt"这个文件则返回的a = "新建文本文档.txt";
如果在D:\中,没有"新建文本文档.txt"这个文件则返回的a = "",即空值。
如果你不确定新生成的文件名,只是确定有新文件生成,我目前还做不到。
3982465
2011-08-08 · TA获得超过348个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:56.1万
展开全部
.本人vb文件流不太懂,只知道那个指定路径的读取的过程。
至于不定时生成,你可以用timer来扫描,就是每1秒(你可以自己设置)进行一次运作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式