Sub InsertInTheMiddleOfText() Dim fso As Object, readFile As Object, writeFile As Object Dim targetLine As Integer, targetChar As Integer Dim i As Integer, currentLine As String, allContent As String Dim linesBefore As Collection, linesAfter As Collection Dim lineToModify As String, modifiedLine As String, InsertContent As String '设置添加位置及添加内容 targetLine = 2 targetChar = 6 InsertContent = " 南宋词人:" Set fso = CreateObject("Scripting.FileSystemObject") '第一步:读取并定位 Set readFile = fso.OpenTextFile("D:\常用文件\test.txt", ForReading, False, TristateTrue) ' ForReading,Unicode格式 Set linesBefore = New Collection Set linesAfter = New Collection ' 读取并保存目标行之前的所有行 For i = 1 To targetLine - 1 If Not readFile.AtEndOfStream Then linesBefore.Add readFile.ReadLine Else MsgBox "文件行数不足,无法定位到第" & targetLine & "行。" readFile.Close Exit Sub End If Next i ' 读取目标行 If Not readFile.AtEndOfStream Then lineToModify = readFile.ReadLine Else MsgBox "第" & targetLine & "行不存在。" readFile.Close Exit Sub End If ' 读取并保存目标行之后的所有行 Do While Not readFile.AtEndOfStream linesAfter.Add readFile.ReadLine Loop readFile.Close '第二步:修改目标行内容 If Len(lineToModify) >= targetChar Then ' 在第targetChar个字符后插入文本 modifiedLine = Left(lineToModify, targetChar) & InsertContent & Mid(lineToModify, targetChar + 1) Else ' 如果该行字符数不足,则在行尾追加 modifiedLine = lineToModify & Space(targetChar - Len(lineToModify)) & InsertContent End If '第三步:回写到新文件,方便验证 Set writeFile = fso.OpenTextFile("D:\常用文件\test_updata.txt", ForWriting, True, TristateTrue) '写入模式,文件不存在自动创建,Unicode格式 ' 写入目标行之前的内容 For i = 1 To linesBefore.count writeFile.WriteLine linesBefore(i) Next i ' 写入修改后的目标行 writeFile.WriteLine modifiedLine ' 写入目标行之后的内容 For i = 1 To linesAfter.count writeFile.WriteLine linesAfter(i) Next i writeFile.Close Set writeFile = Nothing Set fso = Nothing MsgBox "内容已成功添加并保存到新文件!"End Sub