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