vb实现将数据写入TXT,文件名默认为开始存储的时间
要求:1、文件名默认为开始存储的时间
2、每个文件可设置为固定大小,当文件达到最大的设定值,则根据当时的时间创建一个新的以开始存储时间为文件名txt文件
3、以txt格式存储
程序代码:
'全局变量
Dim Filename As String
Dim lenfile As Long
Const lenfilemax = 64 * 1024 '64K
'保存文件用的函数
Public Sub wf(cs As String)
If Filename = "" Then '如果没有文件名,本次就没开始保存数据
Filename = Format(Now, "yyyymmddhhnnss") '生成一个新的文件名
Filename = Filename & ".txt"
End If
lenfile = lenfile + Len(js) + 2 '累加长度
If lenfile > lenfilemax Then '超过允许值
'Close #1 '如果程序运行时都锁定该文件,那么到这里关闭原来打开文件
Filename = Format(Now, "yyyymmddhhnnss") '产生新的文件名
Filename = Filename & ".txt"
'Open Filename For Append As #1 '那么到这里打新的文件
lenfile = Len(js) + 2 '重新计算长度
End If
'如果锁定文件,那这里直接就写入,不要打开和关闭文件
Open Filename For Append As #1 '追加打开文件
Print #1, cs '写入数据
Close #1
End Sub

程序代码:Option Explicit
'全局变量
Dim Filename As String
Dim lenfile As Long
Const lenfilemax = 64& * 1024 '64K ,把第一个直接数规定为 long 就可以了。
'保存文件用的函数
Public Sub wf(cs As String)
If Filename = "" Then '如果没有文件名,本次就没开始保存数据
Filename = Format(Now, "yyyymmddhhnnss") '生成一个新的文件名
Filename = Filename & ".txt"
'生成了文件名,保存一下
Open "FileName.txt" For Output As #2
Print #2, Filename
Close #2
End If
lenfile = lenfile + Len(cs) + 2 '累加长度
If lenfile > lenfilemax Then '超过允许值
'Close #1 '如果程序运行时都锁定该文件,那么到这里关闭原来打开文件
Filename = Format(Now, "yyyymmddhhnnss") '产生新的文件名
Filename = Filename & ".txt"
'生成了文件名,保存一下
Open "FileName.txt" For Output As #2
Print #2, Filename
close #2
'Open Filename For Append As #1 '那么到这里打新的文件
lenfile = Len(cs) + 2 '重新计算长度
End If
'如果锁定文件,那这里直接就写入,不要打开和关闭文件
Open Filename For Append As #1 '追加打开文件
Print #1, cs '写入数据
Close #1
End Sub
Private Sub Form_Load()
'程序运行时,先读一下文件,如果读取了就取文件长度,
If Dir("FileName.txt") <> "" Then '记录文件名的文件存在
Open "FileName.txt" For Input As #2
Line Input #2, Filename
Close #2
If Len(Filename) > 0 Then '有内容
If Right(Filename, 4) = ".txt" Then '是 txt 文件
If Dir(Filename) <> "" Then '文件存在
lenfile = FileLen(Filename) '读长度
End If
End If
End If
End If
End Sub
Private Sub Command1_Click()
'测试
Call wf(Now & " 测试数据")
End Sub
