Private Function DelLine(strFile As String, RLine As Long, newFile As String, SameLine As Boolean)
Dim s As String, n As String, i As Long
i = 1
'//打开源文件
Open strFile For Input As #1
Do Until EOF(1)
Line Input #1, s
If RLine = i Then '如果是指定的行数就进行下面的操作
'------------------------------------------------------
If SameLine = True Then '是否保持源文件行数不变(以空白字符替换这一行内容)的提示,True保持源文件的行数,False为直接删除这一行的内容
s = ""
n = n & s & vbCrLf '将空字符串赋给变量n,以保持源文件的行数
' MsgBox strFile & " 文件中,第 " & RLine & " 行内容" & vbCrLf & s & vbCrLf & "已经删除", vbInformation, "消息提示"
End If
' s="也可以把这一行的内容改成自己需要的"
'-------------------------------------------------------
Else '如果不是指定的行数,就将s的内容赋给变量n 以存储数据
n = n & s & vbCrLf '将s的内容赋给n 并以一个回车符号结束....
End If
i = i + 1
Loop
Close #1
'//写入新文件,如果和源文件同名则会覆盖源文件
Open newFile For Output As #2
Print #2, n '将n变量里的数据写入新文件
Close #2
End Function
'调用方法:
'比如要把c:\1.txt 删除其中的第5行内容,并保留源文件总行数(删除的这行插入一空字符串)
DelLine "C:\1.txt", 5, "C:\2.txt", True
'删除C:\1.txt 删除里面的第一行,且不保留文件的总行数
DelLine "C:\1.txt", 1, "C:\1.txt", False