17-03-18, 22:48
|
Όνομα: Αναστάσιος Πολ Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 29-11-2012
Μηνύματα: 13
| |
Διαγραφή πρώτης σειράς σε αρχείο txt
Καλησπέρα στο φόρουμ.
θα ήθελα την πολύτιμη βοήθεια σας σε ένα πρόβλημα που αντιμετωπίζω.
Θέλω από ένα αρχείο Pel.txt να διαγράψω την πρώτη γραμμή.
Βρήκα κώδικα που το κάνει, αλλά στο δικό μου αρχείο ΔΕΝ δουλεύει.
Μου παρουσιάζει πρόβλημα, χωρίς να εμφανίζει κάποιο μήνυμα.
Ο κώδικας είναι ο παρακάτω: Option Compare Database
Option Explicit
Dim MsgDel As Boolean
Public Function DeleteLine(fName As String, LineNumber As Integer) As Boolean
'Δημιουργία 17/03/2018 και ώρα 16:37
'Σβήνω την πρώτη γραμμή στο αρχείο *.txt
Dim oFSO As New FileSystemObject
Dim oFSTR As Scripting.TextStream
Dim ret As Long
Dim lCtr As Long
Dim sTemp As String, sLine As String
Dim bLineFound As Boolean
Dim delLinestr As String
On Error GoTo ErrorHandler
If oFSO.FileExists(fName) Then
Set oFSTR = oFSO.OpenTextFile(fName)
lCtr = 1
Do While Not oFSTR.AtEndOfStream
sLine = oFSTR.ReadLine
If lCtr <> LineNumber Then
sTemp = sTemp & sLine & vbCrLf
Else
delLinestr = sLine
bLineFound = True
End If
lCtr = lCtr + 1
Loop
oFSTR.Close
Set oFSTR = oFSO.CreateTextFile(fName, True) oFSTR.Write sTemp
DeleteLine = bLineFound
If bLineFound = True Then
MsgBox "Η επικεφαλίδα που ήταν στην 1η Γραμμή Διαγράφηκε!!!", vbInformation
Else
MsgBox "Δεν βρέθηκε 1η Γραμμή στο Αρχείο!!!", vbInformation
End If
Else
MsgBox "Δεν Βρέθηκε το Αρχείο!!!!", vbCritical
End If
ErrorHandler:
On Error Resume Next
oFSTR.Close
Set oFSTR = Nothing
Set oFSO = Nothing
End Function Private Sub btn_DeleteFirstLine_Click()
On Error GoTo Err_btn_DeleteFirstLine_Click
MsgDel = DeleteLine("c:\Pel.txt", 1)
Exit_btn_DeleteFirstLine_Click:
Exit Sub
Err_btn_DeleteFirstLine_Click:
MsgBox Err.Description
Resume Exit_btn_DeleteFirstLine_Click
End Sub
Εκτέλεσα βηματικό έλεγχο και είδα ότι χτυπάει ο κώδικας στο σημείο που του έχω βάλει κόκκινο.
Ωστόσο θέλω να σβήσω την πρώτη γραμμή ανεξαρτήτως τη δεδομένα έχει, οπότε ΑΝ υπάρχει ευκολότερος τρόπος, δεν υπάρχει θέμα....Εγώ ψάχνοντας στο φόρουμ βρήκα τον παραπάνω κώδικα, χωρίς αυτό να σημαίνει ότι είναι και ο σωστότερος.
Σας Ευχαριστώ,
Φιλικά
Αναστάσιος
|