ich möchte eine Zeile die einen bestimmten Text enthält kopieren.
Unabhängig davon, ob der Suchtext in einer Tabelle oder "normalen"
Zeile steht.
Dabei soll die Zwischenablage nicht gelöscht werden.
Haupt Problem:
Die Zeile mit dem Text zu markieren.
Leider geht das nämlich in Tabellen anders als in "normalem" Text.
Gibt es da eine universelle Lösung oder muss ich eine "Weiche" bauen,
die Tabellen und normalen Text unterscheidet?
Und: Wie "merke" ich mir diesen Text, um ihn in mehreren
Schleifendurchläufen woanders einzufügen OHNE die Zwischenablage zu
löschen?
Tschüss,
Volker
> Und: Wie "merke" ich mir diesen Text, um ihn in mehreren
> Schleifendurchläufen woanders einzufügen OHNE die Zwischenablage zu
> löschen?
Ohne VBA-Programmierung wird es nicht gehen.
Wenn Du es schaffst die "Zeile" als Range-Objekt zu fassen (und sie im
weiteren nicht verändert/zerstört wird) kannst Du sie woanders einfügen,
indem Du am Zielort ein (ggf. zunächst auch leeres) Range-Objekt anlegst
und dann "Zielrange.FormattedText = Quellrange.FormattedText".
> Ohne VBA-Programmierung wird es nicht gehen.
Ja natürlich, tschuldigung.
Die alte "Word-VBA" Gruppe gibt es ja nicht mehr so richtig ;-(
Daher wurde ich auf diese Group verwiesen und dachte hier ging es um
VBA.
Aber hier ist ja "NUR" Word. Oder wie?
Aber erstmal Danke:
> Wenn Du es schaffst die "Zeile" als Range-Objekt zu fassen (und sie im
> weiteren nicht verändert/zerstört wird) kannst Du sie woanders einfügen,
> indem Du am Zielort ein (ggf. zunächst auch leeres) Range-Objekt anlegst
> und dann "Zielrange.FormattedText = Quellrange.FormattedText".
Das klingt suuper!
FormattedText war das Stichwort.
Obwohl ich jetzt irgendwo gelesen hatte das es in einigen Versionen
bei Tabellen nicht geht...
Mal schauen, ich werd's testen.
Weisst du spontan auch noch, ob es eine universellere
"GanzeZeileMarkier"-Funktion gibt?
Oder wie ich testen kann ob ich gerade in einer Tabelle stehe oder in
"normalem" Text?
Danke schonmal,
Volker
> Weisst du spontan auch noch, ob es eine universellere
> "GanzeZeileMarkier"-Funktion gibt?
> Oder wie ich testen kann ob ich gerade in einer Tabelle stehe oder in
> "normalem" Text?
Zum Markieren einer Zeile schau Dir mal die verschiedenen .Move Methoden einer
Selection oder eines Range an, dort vor allem den Wert wdLine (ist nur bei
Selection gültig) für den Parameter Unit.
In diesem Zusammenhang sind auch die Methoden .Expand und .Collapse recht
interessant.
Zum Prüfen ob in einer Tabelle:
.Information(wdWithInTable)
Diese Eigenschaft gibt's bei einer Selection oder einem Range
Viele Grüße
Bernhard Sander
Zusätzlich zu den völlig korrekten Aussagen von Bernhard sagt die Word
(2007) Hilfe unter dem Thema "Vordefinierte Textmarken" auch noch:
(gekürzt auf das Wesentliche)
"Sie können vordefinierte Textmarken mit der Bookmarks-Eigenschaft
verwenden.
ActiveDocument.Bookmarks("\Line")
\Line
Die aktuelle Zeile bzw. die erste Zeile der aktuellen Markierung. Wenn
die Einfügemarke sich am Ende einer Zeile befindet, bei der es sich
nicht um die letzte Zeile eines Absatzes handelt, schließt die Textmarke
die gesamte nächste Zeile ein."
Viel Erfolg,
Wolfram