Forum: PC Hard- und Software Word jede Zeile 3 Zeichen löschen


von Sonic (Gast)


Lesenswert?

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?

von Dennis (Gast)


Lesenswert?

Sonic schrieb:
> Hat jemand einen Tipp?

Aber klar: VBA. Damit sollte es ein Kinderspiel sein.

von npn (Gast)


Lesenswert?

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.

von Albrecht H. (alieninside)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von SvenW (Gast)


Lesenswert?

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

von npn (Gast)


Lesenswert?

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 :-)

von Udo S. (urschmitt)


Lesenswert?

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
von Sonic (Gast)


Lesenswert?

Vielen Dank, mit ALT klappt es einwandfrei!

von Albrecht H. (alieninside)


Lesenswert?

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")

von Udo S. (urschmitt)


Lesenswert?

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 :-)

von Peter N. (bleumann)


Lesenswert?

Geht sogar noch in Word 2010... wieder was gelernt, danke für den Tipp!

von Schimanski (Gast)


Lesenswert?

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.

von npn (Gast)


Lesenswert?

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?

von Alfons M. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.