比如我想取文件为类似于 MBA_T_ 20060625163000.TXT ,而且每十分钟生成一个新文件
我想用取当前最新的文件,那么文件名该如何抓取?谢谢大家!!!如果哪位方便的话,最好可以写出代码来,我第一次接触VB,基本就是一个文盲。当然如果您提出思想或建议,也是非常好的。
--------------PS好像用DATA函数的时候,6月显示的6,而不是06?
还有就是 我想用计划任务来每十分钟 运行一次,好像要考虑到跨年月日的问题,不知道如何解决
再次谢谢大家
我想用取当前最新的文件,那么文件名该如何抓取?谢谢大家!!!如果哪位方便的话,最好可以写出代码来,我第一次接触VB,基本就是一个文盲。当然如果您提出思想或建议,也是非常好的。
--------------PS好像用DATA函数的时候,6月显示的6,而不是06?
还有就是 我想用计划任务来每十分钟 运行一次,好像要考虑到跨年月日的问题,不知道如何解决
再次谢谢大家
解决方案 »
- 怎样比较两单元格值的大小
- 如何将PictureBox中的图像保存到数据库中?
- 请问可以这样在scale和line里用代数式表示么?之前我在CSDN上问了几个问题,竟然两个月没人回答!据说是国内最强的编程技术指导类网站,
- 在VB中怎么连接另一台机子上的SQL SERVER服务器中的zmclibrary
- 初学者问题很简单
- 能不能直接对Recordset发SQL命令?
- 第一个回答的人有分!findfirst的用法
- 再散
- 用PC喇叭(不是音箱)发声的钢琴,谁要?留下E-MAIL(内有广告,三日内给分)
- 那里能找到install shield6.0以上的帮助文档或书籍?急!!!!!!!!!
- VB中如何获得数据库出错的信息?大分相赠
- 关于CommnnDialog 的问题?
然后格式可以用Format函数,具体用法我都快忘了,你google一下吧
Open myPath & "\MBA_T_" & Format(Now(), "yyyymmddHHnn00") & ".txt" For Output As #1
'......
Close #1读取:
Dim tmpDate As Date, strFile As String, strTmp As String
tmpDate = DateAdd("n", -10, Now()) '取 10 分钟前的时间
strTmp = "MBA_T_" & Format(tmpDate, "yyyymmddHHnn00") & ".txt"
strFile = Dir(myPath & "\MBA_T_*.*")Do Until strFile = ""
If strFile > strTmp Then Goto GetIt
strFile = Dir
Loop
Exit SubGetIt:
Open myPath & "\" & strFile For Input As #1
'......
Close #1
文件名里最大的就可以啦啦,似乎不用比较。。
另外呢,10分钟,这个,这个用TIMER控制的时候最多1分多点,楼主既然第一次接触,那我就班门弄斧了
Dim mTimr As Long
Private Sub Form_Load()
Timer1.Interval = 60000
End SubPrivate Sub Timer1_Timer()
If mTimr = 9 Then
mTimr = 0
'MsgBox Now 这里就是每10分钟要干的事情喽
Else
mTimr = mTimr + 1
End If
End Sub嘎嘎,分一块沙发。。
命名的方法上面已經說的夠詳細了.
基本直接用就ok了
还要怎么样
If Command1.Tag = "" Then
MsgBox "开始计时", vbInformation
Timer1.Interval = 1000 '计时器每秒嘀嗒一次
Timer1.Enabled = True
Command1.Tag = "*"
Else
Timer1.Enabled = False
Command1.Tag = ""
MsgBox "计时器停止", vbInformation
End If
End SubPrivate Sub Command2_Click()
MsgBox "最新的文件名是:" & GetNewestFileName
End SubPrivate Sub Timer1_Timer()
Dim i As Long
Dim str As String
Dim dt As Date
dt = Now
Label1 = Format(dt, "YYYY-MM-DD HH:NN:SS") '━┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅━
'判断是否整10分钟
str = Format(dt, "YYYYMMDDHHNNSS")
'If Right(str, 3) <> "000" Then Exit Sub '如果当前分钟不是10的倍数,退出不处理
'━┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅━
'生成文件
str = "MBA_T_" & str & ".TXT"
str = App.Path & "\" & str '这里写你的文件路径
Open str For Output As #1
Write #1, "生成了文件:" & str
Close #1
'━┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅━
'辅助验证
On Error Resume Next
Static Count As Long
Count = Count + 1
Label2 = Count & " : 生成了文件:" & str
End Sub'━┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅━
'获取最新的文件的文件名
Private Function GetNewestFileName(Optional pPath As String) As String
If pPath = "" Then pPath = App.Path
Dim str As String
str = "MBA_T_*.TXT"
str = Dir(pPath & "\" & str) 'str为文件名
If str = "" Then Exit Function '如果没有文件,则返回空
Do While (str <> "")
Dim str2 As String
str2 = Left(Right(str, 18), 14)
str2 = Mid(str2, 5, 2) & "/" & Mid(str2, 7, 2) & "/" & Left(str2, 4) & " " & _
Mid(str2, 9, 2) & ":" & Mid(str2, 11, 2) & ":" & Right(str2, 2)
Dim CurDate As Date
Dim LastDate As Date
CurDate = CDate(str2)
If CurDate > LastDate Then
GetNewestFileName = str
End If
str = Dir()
Loop
End Function
'以上代码复制到Form1中,Form1放Command1,Command2两个按钮和Label1,Label2两个标签,再放一个Timer1计时器。测试通过。