Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eine leere Zeile in eine Textdatei schreiben?

Eine leere Zeile in eine Textdatei schreiben?
27.06.2006 21:37:53
Timo
Hallo!
Kann mir jemand helfen?
Wie bekomme ich in einer Textdatei eine leere Zeile eingefügt ohne dass es mir etwas von der Textdatei überschreibt? Nachdem ich die leere Zeile eingefügt habe, würde ich gerne in diese einen neuen Text schreiben! Geht das? Ich bekomme es einfach nicht hin!
Vielen Dank für eure Hilfe!
Gruß Timo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine leere Zeile in eine Textdatei schreiben?
27.06.2006 21:56:28
Timo
Hallo Reiner!
Hier ist ein Beispiel vom Textdateianfang sowie der Code mit dem ich erfolgreich Zeilen überschreibe!
Beispiel: Texdatei
##* P1540 = BT01504_00181_P07_IC.TP WOERNERMI 28.03.2006 13: 571910 BYTE
0 BEGIN PGM 50418107 MM
16 CYCL DEF 32.0 TOLERANZ
17 CYCL DEF 32.1 T0,020
20 ;EILGANG:40000,ZUSTELLEN:1200,FRAESEN:2000
21 FN0:Q1=40000 ;EILGANG
22 FN0:Q2=2666 ;ANFAHRVORSCHUB
23 FN0:Q3=2866 ;FRAESVORSCHUB
24 TOOL CALL 1106 Z S15924
25 LM3M7
Jetz würde ich gerne zwischen "24 TOOL CALL 1106 Z S15924" und "25 LM3M7" eine Zeile einfügen, wo ich wieder etwas reinschreiben lasse!
Mein Code:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Sub WriteToFile()
Dim strFile As String, strTemp As String
Dim str1 As String, str2 As String
Dim intCheck As Integer, lngIndex As Long
Dim varTemp() As Variant
ChDrive ("C:")
ChDir ("C:\Eigene Dateien\Ordner von Timo\exce")
strFile = Application.GetOpenFilename("Heidenhain (*.h),(*.*)")
If strFile = "Falsch" Then Exit Sub
str1 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("J25").Text
str2 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("E25").Text
str3 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("G16").Text
str4 = ThisWorkbook.Sheets("Datenbank").Range("K23").Text
Open strFile For Input As #1
'Zeilenzahl feststellen
Do While Not EOF(1)
Line Input #1, strTemp
lngIndex = lngIndex + 1
Loop
Close #1
ReDim varTemp(lngIndex - 1)
lngIndex = 0
Open strFile For Input As #1
'Textdatei in Array einlesen
Do While Not EOF(1)
Line Input #1, strTemp
varTemp(lngIndex) = strTemp
lngIndex = lngIndex + 1
Loop
Close #1
'Zeilen suchen und Werte ersetzen
For lngIndex = 0 To UBound(varTemp)
If Left(varTemp(lngIndex), 10) = "23 FN0:Q3=" Then
varTemp(lngIndex) = Left(varTemp(lngIndex), 10) & str1 & " ;FRAESVORSCHUB"
intCheck = intCheck + 1
ElseIf Left(varTemp(lngIndex), 13) = "24 TOOL CALL " Then
varTemp(lngIndex) = Left(varTemp(lngIndex), 13) & str3 & " Z S" & str2
intCheck = intCheck + 1
ElseIf Left(varTemp(lngIndex), 10) = "22 FN0:Q2=" Then
varTemp(lngIndex) = Left(varTemp(lngIndex), 10) & str4 & " ;ANFAHRVORSCHUB"
intCheck = intCheck + 1
End If
If intCheck = 3 Then Exit For
Next
z = MsgBox("Programmnummer " & Mid(varTemp(0), 4, 7) & " richtig?", vbYesNo, "Programm wirklich überschreiben?")
If z = vbYes Then Open strFile For Output As #1
If z = vbNo Then Exit Sub
'Array in Datei schreiben
For lngIndex = 0 To UBound(varTemp)
Print #1, varTemp(lngIndex)
Next
Close #1
End Sub

Anzeige
AW: Eine leere Zeile in eine Textdatei schreiben?
27.06.2006 22:17:50
Ramses
Hallo
Das kannst du sicher anpassen
Option Explicit

Sub WriteToFile()
    Dim strFile As String, strTemp As String
    Dim str1 As String, str2 As String, str3 As String, str4 As String
    Dim intCheck As Integer, lngIndex As Long
    Dim varTemp() As Variant
    Dim i
    ChDrive ("C:")
    ChDir ("C:\Eigene Dateien\Ordner von Timo\exce")
    
    strFile = Application.GetOpenFilename("Heidenhain (*.h),(*.*)")
    
    If strFile = "Falsch" Then Exit Sub
    
    str1 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("J25").Text
    str2 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("E25").Text
    str3 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("G16").Text
    str4 = ThisWorkbook.Sheets("Datenbank").Range("K23").Text
    
    Open strFile For Input As #1
    
    'Zeilenzahl feststellen
    Do While Not EOF(1)
        Line Input #1, strTemp
        lngIndex = lngIndex + 1
    Loop
    Close #1
    Redim varTemp(lngIndex - 1)
    lngIndex = 0
    Open strFile For Input As #1
    'Textdatei in Array einlesen
    Do While Not EOF(1)
        Line Input #1, strTemp
        varTemp(lngIndex) = strTemp
        lngIndex = lngIndex + 1
    Loop
    Close #1
    
    
    'Neuen Text hinzufügen
    varTemp(UBound(varTemp)) = "Neuer Text" & vbCrLf & varTemp(UBound(varTemp))
    'Datei neu schreiben
    Open strFile For Output As #1
    For i = 0 To UBound(varTemp)
        Print #1, varTemp(i)
    Next i
    Close #1
End Sub


Gruss Rainer
Anzeige
AW: Eine leere Zeile in eine Textdatei schreiben?
27.06.2006 22:33:42
Erich
Hallo Timo,
versuchs mal mit
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
Sub WriteToFile()
Dim strFile As String, strTemp As String
Dim str1 As String, str2 As String
Dim intCheck As Integer, lngIn As Long
Dim varIn() As Variant, varOut() As Variant
Dim str3 As String, str4 As String, z As Long, strN As String, lngN As Long
ChDrive ("C:")
ChDir ("C:\Eigene Dateien\Ordner von Timo\exce")
strFile = Application.GetOpenFilename("Heidenhain (*.h),(*.*)")
If strFile = "Falsch" Then Exit Sub
str1 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("J25").Text
str2 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("E25").Text
str3 = ThisWorkbook.Sheets("Schnittdatenermittlung").Range("G16").Text
str4 = ThisWorkbook.Sheets("Datenbank").Range("K23").Text
strN = "Text fuer neue Zeile"
Open strFile For Input As #1
'Zeilenzahl feststellen
Do While Not EOF(1)
Line Input #1, strTemp
lngIn = lngIn + 1
Loop
Close #1
ReDim varIn(lngIn - 1)
ReDim varOut(lngIn)      ' wenn 1 Zeile eingefügt werden soll
lngIn = 0
Open strFile For Input As #1
'Textdatei in Array einlesen
Do While Not EOF(1)
Line Input #1, strTemp
varIn(lngIn) = strTemp
lngIn = lngIn + 1
Loop
Close #1
'Zeilen suchen und Werte ersetzen
For lngIn = 0 To UBound(varIn)
If Left(varIn(lngIn), 10) = "23 FN0:Q3=" Then
varOut(lngIn + lngN) = Left(varIn(lngIn), 10) & str1 & " ;FRAESVORSCHUB"
intCheck = intCheck + 1
ElseIf Left(varIn(lngIn), 13) = "24 TOOL CALL " Then
varOut(lngIn + lngN) = Left(varIn(lngIn), 13) & str3 & " Z S" & str2
intCheck = intCheck + 1
lngN = lngN + 1
varOut(lngIn + lngN) = strN
ElseIf Left(varIn(lngIn), 10) = "22 FN0:Q2=" Then
varOut(lngIn + lngN) = Left(varIn(lngIn), 10) & str4 & " ;ANFAHRVORSCHUB"
intCheck = intCheck + 1
Else
varOut(lngIn + lngN) = varIn(lngIn)   ' unveränderte Übernahme des Satzen
End If
Next
z = MsgBox("Programmnummer " & Mid(varIn(0), 4, 7) & " richtig?", vbYesNo, _
"Programm wirklich überschreiben?")
If z <> vbYes Then
Open strFile For Output As #1
'Array in Datei schreiben
For lngIn = 0 To UBound(varOut)
Print #1, varOut(lngIn)
Next
Close #1
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige