Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zeile in Word kopieren. Ohne Zwischenablage und inclusive Tabellenzeilen

124 views
Skip to first unread message

Volker Heil

unread,
Feb 14, 2011, 7:06:39 AM2/14/11
to
Hi,

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

Rainer H. Rauschenberg

unread,
Feb 14, 2011, 3:59:56 PM2/14/11
to
On 2011-02-14, Volker Heil <dilb...@gmx.de> wrote:

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

Volker Heil

unread,
Feb 15, 2011, 6:55:00 AM2/15/11
to
Hi,

> 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


Bernhard Sander

unread,
Feb 15, 2011, 7:18:16 AM2/15/11
to
Hallo 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

Wolfram Jahn

unread,
Feb 15, 2011, 1:00:31 PM2/15/11
to
Am 15.02.2011 13:18, schrieb Bernhard Sander:
> Hallo Volker,
>
>> Weisst du spontan auch noch, ob es eine universellere
>> "GanzeZeileMarkier"-Funktion gibt?

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

0 new messages