Hallo Ich stehe vor der anscheinend unlösbaren Aufgabe, in einem Dokument an jedem Zeilenanfang automatisch 3 Zeichen zu löschen Hat jemand einen Tipp?
Wenn es reiner Text ist, kannst du den Notepad++ dafür verwenden. Im Spaltenmodus kannst du einen beliebigen rechteckigen Bereich markieren, also auch die ersten 3 Zeichen jeder Zeile. Die kannst du dann löschen.
Wenn es in MS-Word selbst sein muss: 1. Möglichkeit - Aufgezeichnetes Macro Irgendwas mit: Zeilenende / Absatz suchen, eins nach rechts, dreimal delete ... Wenn der Macro-Rekorder versteht was man will gut, wenn nicht, Pech gehabt! 2. Möglichkeit - VBA oder VB.net Eine Schleife und eine Hand voll Fallunterscheidungen um das vorherige Zeilenende / Absatz bzw. den nächsten Zeilenanfang richtig zu erkennen Für Leute die öfter mit VB oder VBA arbeiten theoretisch eine Fingerübung, na ja realistisch betrachtet muss man sich wohl schon wenigstens eine Stunde lang einlesen um zu wissen welche Objekte MS-Word für VB zur Verfügung stellt, bzw. um das Dokumenten-Objekt in VBA zu verstehen. Außerhalb von MS-Word: Text in Libre-Office importieren und eine Regex-Ersetzung machen.
Na hier sind ja wieder alle Word Experten versammelt und jeder hat was zu sagen. Während des Markierens ALT gedrückt halten und du kannst (zumindest in Word 2003) rechteckige Bereiche markieren, mit denen du dann alles machen kann, wie löschen, kopieren etc. Natürlich ist es sinnvoll, dabei einen dicktengleichen Zeichensatz wie Courier zu haben, und am Ende jeder Zeile einen Zeilenwechsel und nicht einen langen umgebrochenen Fliesstextabsatz.
Hallo Sonic, wie Dennis schon geschrieben hat, nehm VBA (Alt+F11). Hier mal ein Beispiel (auf die Schnelle...).
1 | Sub DeleteFirst3Signs() |
2 | ' |
3 | ' DeleteFirst3Signs |
4 | ' |
5 | ActiveDocument.Range(0, 0).Select |
6 | |
7 | For Each Paragraph In ActiveDocument.Paragraphs |
8 | Selection.Delete Unit:=wdCharacter, Count:=3 |
9 | Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdMove |
10 | Next Paragraph |
11 | ' |
12 | End Sub |
MfG Sven
MaWin schrieb: > Na hier sind ja wieder alle Word Experten versammelt und jeder hat > was > zu sagen. > > Während des Markierens ALT gedrückt halten und du kannst (zumindest in > Word 2003) rechteckige Bereiche markieren, mit denen du dann alles > machen kann, wie löschen, kopieren etc. > > Natürlich ist es sinnvoll, dabei einen dicktengleichen Zeichensatz wie > Courier zu haben, und am Ende jeder Zeile einen Zeilenwechsel und nicht > einen langen umgebrochenen Fliesstextabsatz. Das ist ja mal interessant! Das habe ich bei Word noch nicht gewusst. Die Vorgehensweise ist beim Notepad++ die gleiche, nur dass man dort eben nicht auf die Schriftarten achten muß, weil es eben ein Texteditor ist. Danke für den Tip! Wieder was gelernt :-)
Nur daß ein Word Dokument normalerweise keine Zeilenumbrüche, sondern nur Absatzmarkierungen hat. Wie genau jetzt das "Dokument" des TOs aussieht weiss aber nur er.
:
Bearbeitet durch User
Sonic schrieb: > Vielen Dank, mit ALT klappt es einwandfrei! Es handelt sich also tatsächlich um "Courier" mit fester Breite und alle Seiten haben gleichgroße Ränder, ..., Glück muss man haben! Wollte eigentlich nur noch der Vollständigkeit halber die Methode mit Libre-Office von oben ergänzen: "Bearbeiten"/"Suchen & Ersetzen" "Suchen nach": ^[:alpha:]{0,3} "Ersetzen durch": ...nichts (Häkchen setzen bei: "Regulärer Ausdruck")
MaWin schrieb: > Während des Markierens ALT gedrückt halten und du kannst (zumindest in > Word 2003) rechteckige Bereiche markieren, mit denen du dann alles > machen kann, wie löschen, kopieren etc. Udo Schmitt schrieb: > ur daß ein Word Dokument normalerweise keine Zeilenumbrüche, sondern > nur Absatzmarkierungen hat. Gerade mal mit Word 2013 ausprobiert. Man kann tatsächlich beliebig Zeichen markieren, bei variable Length Zeichensätzen wird dann auch gerne mal 2 statt 3 Zeichen markiert. Wenn man dann löscht bricht der Blocksatz wieder gnadenlos um. Das heisst diese Funktion geht wirlich nur auf die aktuelle Anordnung im Fenster. Sehr schräg :-)
Geht sogar noch in Word 2010... wieder was gelernt, danke für den Tipp!
Shift,Control+Alt zusammen drücken und dann mit dem Mauszeiger beliebigen Bereich (auch gern ein Quadrat in der Mitte der Seite) auswählen. Kann man danach beispielsweise Kursiv hervorheben. Ging doch in Word schon immer... Nach ^l oder ^p suchen ginge auch. Ob man dann mit{0,3} noch drei zeichen weiter "offsetten" darf, weis ich nicht.
Schimanski schrieb: > Shift,Control+Alt zusammen drücken und dann mit dem Mauszeiger > beliebigen Bereich (auch gern ein Quadrat in der Mitte der Seite) > auswählen. Nur ALT und mit Mauszeiger Bereich wählen, das hatten wir weiter oben schon (MaWin). Was machst du mit Shift und Control?
ich danke auch für den für mich wichtigen Tipp, klappt super und erspart mir künftig viel Zeit beim Bearbeiten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.