
Имеется файл с текстом, нужно:








Public Sub ReplaceLine(ByVal sFileName As String, ByVal lLineNum As Long, ByVal sReplaceWith As String)
Dim hFile As Long
Dim sBuffer As String
Dim sLines() As String
hFile = FreeFile()
Open sFileName For Binary As #hFile
sBuffer = Space(LOF(hFile))
Get #hFile, 1, sBuffer
sLines = Split(sBuffer, vbNewLine)
sLines(lLineNum-1) = sReplaceWith
sBuffer = Join(sLines, vbNewLine)
Put #hFile, 1, sBuffer
Close #hFile
End Sub
Public Sub DeleteLine(ByVal sFileName As String, ByVal lLineNum As Long)
Dim hFile As Long
Dim sBuffer As String
Dim sLines() As String
hFile = FreeFile()
Open sFileName For Binary As #hFile
sBuffer = Space(LOF(hFile))
Get #hFile, 1, sBuffer
sLines = Split(sBuffer, vbNewLine)
For i = lLineNum To UBound(sLines) - 1
sLines(i) = sLines(i + 1)
Next i
ReDim Preserve sLines(UBound(sLines) - 1)
sBuffer = Join(sLines, vbNewLine)
Put #hFile, 1, sBuffer
Close #hFile
End Sub
Public Function ReadLine(ByVal sFileName As String, ByVal lLineNum As Long) As String
Dim hFile As Long
Dim sBuffer As String
Dim sLines() As String
hFile = FreeFile()
Open sFileName For Binary As #hFile
sBuffer = Space(LOF(hFile))
Get #hFile, 1, sBuffer
sLines = Split(sBuffer, vbNewLine)
Close #hFile
ReadLine = sLines(lLineNum - 1)
End Sub
Public Sub AddLine(ByVal sFileName As String, ByVal lLineNum As Long, ByVal sTextToAdd As String)
Dim hFile As Long
Dim sBuffer As String
Dim sLines() As String
hFile = FreeFile()
Open sFileName For Binary As #hFile
sBuffer = Space(LOF(hFile))
Get #hFile, 1, sBuffer
sLines = Split(sBuffer, vbNewLine)
ReDim Preserve sLines(UBound(sLines) + 1)
For i = UBound(sLines) To lLineNum + 1
sLines(i) = sLines(i - 1)
Next i
sLines(lLineNum) = sTextToAdd
sBuffer = Join(sLines, vbNewLine)
Put #hFile, 1, sBuffer
Close #hFile
End Sub
К тому же нехочется затрагивать другие строки при чтении, перезаписи и т.п
Хакер писал(а):Саша_ОР, используя мои методы тебе необязательно вообще открывать файл.
Open xxx For Input As #1
foo = МояФункция(ываываыва)
Close #1
Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 3