Replace funktioniert nicht bei verknüpften Elementen

08/11/2008 - 14:09 von Peter Flindt | Report spam
Hallo,
Codeschnippsel:

Private Sub Document_Open()
Dim DokumentFeld As Field
For Each DokumentFeld In ActiveDocument.Fields
DokumentFeld.Result.Text = Replace(DokumentFeld.Result.Text, Chr(9),
"")
DokumentFeld.Result.Text = Replace(DokumentFeld.Result.Text, Chr(10),
"")
DokumentFeld.Result.Text = Replace(DokumentFeld.Result.Text, Chr(13),
"")
'End If
End Sub

Ich habe ein Word Dokument und eine Exeltabelle.
Wenn ich die Excelzelle markiere, STRG+ C drücke, und dann über
Bearbeiten->Inhalte einfüge enthàlt dieser Text dann Tabs (bei
verbundenen Zellen) oder auch Zeilenumbrüche. (Office 2002)
Da dachte ich mir obigen Code aus, der diese Tabs und Zeilenumbrüche
entfernen soll.
Der Code funktioniert aber nicht so ganz.

Wenn ich die Excel Zelle über "Inhalte einfügen->unformartierte Text
UND als Verknüpfung" in das Word Dokument einbinde, und den Code
ausführe,
habe ich zwar anschließend den Text der Zelle, unformatiert, in meinem
Word Dokument, blos leider dann nur noch den reinen Text. Sprich dieses
"Als Verknüpfung" geht mir flöten. :|

Irgendwelche Ideen?

Peter
 

Lesen sie die antworten

#1 Cindy M.
12/11/2008 - 13:00 | Warnen spam
Hi Peter,

Vermutlich beschàdigt der Code das Feld, das die Verknüpfung aufrecht
erhàlt. Besser wàre es, den Bereich innerhalb des Feldergebnisses zu
bearbeiten. Genau wie der Code aussehen soll ist schwierig zu sagen, Du
wirst testen müssen. Ich könnte mir aber so etwas vorstellen:

Dim DokumentFeld As Field
Dim rng as Word.Range

For Each DokumentFeld In ActiveDocument.Fields
Set rng = DokumentFeld.Result
rng.MoveEnd wdCharacter, -1
rng.MoveStart wdCharacter, 1
rng.TextRetrievalMode.IncludeFieldCodes = false
rng.Text.Replace 'usw
Next

Das "Zusammenschrümpfen" des Bereichs sowie das Auslassen des Feldcodes
schützt hoffentlich die Feldcodestrukturen.

Ich habe ein Word Dokument und eine Exeltabelle.
Wenn ich die Excelzelle markiere, STRG+ C drücke, und dann über
Bearbeiten->Inhalte einfüge enthàlt dieser Text dann Tabs (bei
verbundenen Zellen) oder auch Zeilenumbrüche. (Office 2002)
Da dachte ich mir obigen Code aus, der diese Tabs und Zeilenumbrüche
entfernen soll.
Der Code funktioniert aber nicht so ganz.

Wenn ich die Excel Zelle über "Inhalte einfügen->unformartierte Text
UND als Verknüpfung" in das Word Dokument einbinde, und den Code
ausführe,
habe ich zwar anschließend den Text der Zelle, unformatiert, in meinem
Word Dokument, blos leider dann nur noch den reinen Text. Sprich dieses
"Als Verknüpfung" geht mir flöten. :|

Irgendwelche Ideen?




Cindy Meister
Co-Autor von »Microsoft Word-Programmierung Das Handbuch« (MS Press)
http://www.word.mvps.org
http://homepage.swissonline.ch/cindymeister

Rückfragen & Antworten nur in der Newsgroup, bitte!

Ähnliche fragen