
Dim flnum1 As Integer, flnum2 As Integer, n As Integer, txt() As String
flnum1 = FreeFile: n = 1 '初始化变量
Open newfile For Output As #flnum1
For i = LBound(file_add) To UBound(file_add)
flnum2 = FreeFile
'下面的代码将读取文件内容到数组中,并添加标记
Open file_add(i) For Input As #flnum2
ReDim Preserve txt(n)
Line Input #flnum2, txt(n)
txt(n) = "Q:" + txt(n)
Do While Not EOF(flnum2)
n = n + 1
ReDim Preserve txt(n)
Line Input #flnum2, txt(n)
txt(n) = "A:" + txt(n)
Loop
Close #flnum2
n = n + 2
Next
'下面的代码将生成一个合并后的文件,并删除旧文件
'删除文件
GoTo here
For i = LBound(file_add) To UBound(file_add)
Kill file_add(i)
Next
here:
'生成合并文件
For i = 1 To UBound(txt)
Print #1, txt(i)
Next
Close #flnum1
End Sub
你可以将上述代码粘贴到程序的任意位置,然后按照以下方式调用(不知道你会不会过程调用,若有不会的请追问):
调用方式:Call merge(newfile,file_add)
参数说明:
newfile:合并后的文件的地址(地址要完整,包括盘符、目录、文件名、扩展名,或用相对路径)。比如,你要将需要合并的文件合并成一个文件,名为merged.txt,且在E盘中,则newfile参数为"E:\merged.txt"
file_add:是一个数组,包含需要被合并的文件名的地址(使用规则与newfile相同)
回答人的补充 2010-09-22 21:52 如果你看不懂代码,没关系,你可以不用管代码写的是什么,把它粘贴到程序的任意位置,然后就可以调用了(就像使用库函数一样)。这里举个调用的例子:
单击按钮Cmd后,则把E:\m.txt和D:\file\n.txt的内容合并为一个文件(新的文件为C:\new.txt),代码如下:
Private Sub Cmd_Click()
dim a(1 To 2) As String,file As String
a(1) = "E:\m.txt"
a(2) = "D:\file\n.txt"
file = "C:\new.txt"
Call merge(file,a())
End Sub
使用流程:
首先定义一个字符型变量、一个字符型数组,然后将需要合并的文件地址及名称全部存储到数组中,再将合并后的文件地址及名称存储到变量中,再将变量、数组以参数的形式传递给merge过程即可。
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
比如使用,
Open "D:\1.txt 以后1.TXT里的文件就没有了,请问如何追加记录,比如原来文本里有1234
现在追加ABCD,使文本变成
1234
ABCD
在以前的下一行添加,不删除以前的雷同 自动换行,如何实现
解析:
1楼的写错了。
不应该用“output”,output是输出,这样会覆盖,append是追加
2楼太复杂,没仔细看,^_^。
可以把一楼的改一下就可以,如下
Open "D:\1.txt for append As #1
Print #1,"ABCD"
Close #1
注:print可以换成write,二者区别在于写在文本中的内容两端有无双引号。
哈哈,祝你成功!!!!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)