就是在文本文件的导入导出过程中,有这么一段代码(当然我其实之前有做过导入功能,也做过导出功能了)但是还是不懂里面的一个
作用呢,是以下这个
然后呢,代码呢,我跟着老师学的之后自己也编了
[Visual Basic] 纯文本查看 复制代码 Sub 合并两个文本文件()
Dim i As Long, s As String, j As Long
'打开两个需要合并的文本文件,并且赋予他们唯一的编号,只要文件打开就必须是编号唯一
Open "E:\Excel VBA入门及应用\vba提高篇\13、第十二回的文本文件\文本1.txt" For Input As #1
Open "E:\Excel VBA入门及应用\vba提高篇\13、第十二回的文本文件\文本2.txt" For Input As #2
'行号从22号开始循环
i = 22
'循环操作代号1和代号2文件,循环到末尾为止
Do While Not EOF(1) Or Not EOF(2)
'假如文件1没到末尾,那么对文件1做数据行读取并且输入
'循环是从第一行开始,以后循环一次就是+1的循环,因此不需要额外再做操作
If Not EOF(1) Then
Line Input #1, s
'这里是将s写入到之前i行的2号单元格,然后写入后i+1
Cells(i, 2) = s: i = i + 1
End If
'这里是读取的2号文件,这里因为前面的if中i+1了,因此这里其实是后面一行了
If Not EOF(2) Then
Line Input #2, s
Cells(i, 2) = s: i = i + 1
End If
Loop
Close #1: Close #2
'当到了excel中后再进入到合并文件中去,这里写了编号#1是因为,原来的文件已经关闭了
'内存中已经释放了#1,所以才使用的
Open "E:\Excel VBA入门及应用\vba提高篇\13、第十二回的文本文件\合并.txt" For Output As #1
i = 22
Do While Cells(i, 2) <> ""
Print #1, Trim(Cells(i, 2))
i = i + 1
Loop
Close #1
End Sub
其他的呢,我都能懂,什么打开啊,关闭啊,打印啊,都能明白了
就是在读取每一行并定义成变量s的时候,为什么line input #1后面是","加上s,而不是line input #1=s,我知道如果是=s程序会报错,但是我不知道在这里vba为啥是,而不是=,不理解就钻牛角尖了 |