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 "