《VB中删除替换或者插入内容到文本中某一行.docx》由会员分享,可在线阅读,更多相关《VB中删除替换或者插入内容到文本中某一行.docx(6页珍藏版)》请在三一办公上搜索。
1、VB中删除替换或者插入内容到文本中某一行VB操作文本文件的方法很多,下面的例子是我自己作项目或者回答网友提问时做的,很有代表性,希望能够给各位朋友一些启发.功能:删除、替换文本中一行,或者插入内容到文本中某一行作者: soho_andy (冰)参数:strSourceFile 原始文件完整名strTargetFile 生成新文件的完整名intRow 操作的行数Sub 操作文件中一行(strSourceFile As String, strTargetFile As String, intRow As Long)Dim filenum As IntegerDim fileContents As
2、StringDim fileInfo As StringDim i As IntegerDim j As Integerfilenum = FreeFileOpen strSourceFile For Binary As #filenumfileContents = Space(LOF(filenum)Get #filenum, , fileContentsClose filenumfileInfo = Split(fileContents, vbCrLf)取出源文件行数,按照回车换行来分隔成数组filenum = FreeFileIf Dir(strTargetFile, vbNormal)
3、 <> ThenKill strTargetFileEnd IfDim Filestr As String删除一行代码块Open strTargetFile For Append As #filenum循环每一行For i = 0 To UBound(fileInfo) - 1If i <> intRow - 1 ThenPrint #filenum, fileInfo(i)End IfNextClose #filenum替换一行代码块Open strTargetFile For Append As #filenum循环每一行For i = 0 To UBound(fileIn
4、fo) - 1If i = intRow - 1 ThenPrint #filenum, 你要替换进去的内容End IfNextClose #filenum插入一行代码块Open strTargetFile For Append As #filenum循环每一行For i = 0 To UBound(fileInfo) - 1If i = intRow - 1 ThenPrint #filenum, 你要插入到这行的内容Print #filenum, fileInfo(i) 保留原来的行,位置后移一位End IfNextClose #filenumMsgBox 完毕End Sub另外一个解决实
5、际问题的例子网友的要求设有文件a.txt,其中存放了两行数据,数据用逗号分隔,现在要读取第一行的奇数位置的数据写入到另一个文本文件的第一行,类似地,把第二行的奇数位置的数据写入到第二行。比如:文件a.txt如下:1,2,3,4,56,7,8,9,10操作完成后,文件b.txt应为1,3,56,8,10作者: soho_andy (冰)参数:strSourceFile 原始文件完整名strTargetFile 生成新文件的完整名Sub 提取奇数位数据(strSourceFile As String, strTargetFile As String)Dim filenum As IntegerDi
6、m fileContents As StringDim fileInfo As StringDim i As IntegerDim j As IntegerDim tmpDemData As Stringfilenum = FreeFileOpen strSourceFile For Binary As #filenumfileContents = Space(LOF(filenum)Get #filenum, , fileContentsClose filenumfileInfo = Split(fileContents, vbCrLf)取出源文件行数,按照回车换行来分隔成数组filenum = FreeFiletmpDemData = If Dir(strTargetFile, vbNormal) <> ThenKill strTargetFileEnd IfDim Filestr As StringOpen strTargetFile For Append As #filenum循环每一行For i = 0 To UBound(fileInfo) - 1