Textpassage aus .txt herauslöschen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Textpassage aus .txt herauslöschen
von: Jörg
Geschrieben am: 25.02.2005 09:21:11
Hallo liebe Helfer

ich habe eine immer wieder neu automatisch erzeugte "Muster.txt". Aus der muss ich per VBA eine bestimmte Textpassage (also mehrere zusammenhängende Wörter) herauslöschen. Ist fortlaufender Text ohne Zeilenumbrüche, ist immer unterschiedlich lang...
Wie kann ich das machen?
Textdatei im Editor öffnen, Suchen, Ersetzen??? oder so???
PS. Im Erzeugerprogramm ist kein Eingriff möglich. D.h. den Text erst gar nicht da reinzuschreiben ist ausgeschlossen.

Erbitte eure Hilfe

Gruß Jörg

Bild

Betrifft: AW: Textpassage aus .txt herauslöschen
von: Ramses
Geschrieben am: 25.02.2005 09:49:48
Hallo
http://www.office.gmxhome.de/_excel_vba_externe_daten.htm
Da findest du sicher was. Musst du halt dann zusammenbauen/kombinieren.
Gruss Rainer
Bild

Betrifft: Ergänzung:
von: Jörg
Geschrieben am: 25.02.2005 10:04:43
Hallo nochmal
villeicht noch eine andere Möglichkeit:

Ich hab die Textdatei in der Zwischenablage stehen.
Kann man diese nicht irgendwo "ablegen", den Text da bearbeiten lassen und wieder neu anspreichern (oder wieder in die Zwischenablage legen)
Gruß Jörg
Bild

Betrifft: aus/in Zwischenablage
von: Galenzo
Geschrieben am: 25.02.2005 10:12:11
dann geht's so:
"Holen" aus Zwischenablage:
Dim MyData As DataObject
Set MyData = New DataObject
MyData.GetFromClipboard

MsgBox MyData.GetText(1)
dann kannst du MyData.GetText(1) mit der Funktion Instr bearbeiten und dann wieder in die Zwischenablage zurückschreiben.
Bild

Betrifft: Korrektur
von: Galenzo
Geschrieben am: 25.02.2005 10:14:42
grrr - wo hab ich heut bloß meinen Kopf...
NICHT instr - sondern WorksheetFunction.Substitute natürlich
Bild

Betrifft: Danke an alle
von: Jörg
Geschrieben am: 25.02.2005 11:45:24
Hallo alle Helfer
Die für mich beste Lösung ist nun diese geworden:


Private Sub Teil_raus()
    Dim TakeData As DataObject, NeuData As DataObject
    Set TakeData = New DataObject
    Set NeuData = New DataObject
    TakeData.GetFromClipboard
    Raus = "Dieser Text soll weg"
    NeuData.SetText Application.Substitute(TakeData.GetText(1), Raus, "")
    NeuData.PutInClipboard
End Sub

Klappt bestens, nachdem ich die MS-Forms noch als Verweise aktiviert habe.

Gruß Jörg
Bild

Betrifft: AW: Ergänzung:
von: Luschi
Geschrieben am: 25.02.2005 10:18:25
Hallo Jörg,
ich löse das wie folgt:
per Vba wird die txt-Datei als Byte-Array eingelesen und anschließend in eine neue
Datei zurückgeschrieben, wobei die bestimmten Textpassagen übersprungen werden.
Wenn Du eine Testdatei uppst zum Herber-Server, dann schicke ich Dir die Excel-Lösung.
Gruß von Luschi
aus klein-Paris
Bild

Betrifft: AW: Ergänzung:
von: UweD
Geschrieben am: 25.02.2005 13:45:55
Hallo Luschi

klink mich mal hier ein.
Ich hätte Interesse an deiner Lösung

Sagen wir mal aus der beigefügten Beispiel.txt soll das Wort UweD durch Mr.x werden. Danach wieder abspeichern unter gleichem Namen.
https://www.herber.de/bbs/user/18760.txt
Danke im Vorraus
UweD
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Select case "