Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Text in Tabellenfeld ändern verliert Links und Untertabellen
zurück: Beim Schließen MessageBox (nur) falls bestimmter Haken aktiv weiter: Tabellenende finden Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Schwilli
Gast


Verfasst am:
15. Apr 2014, 20:14
Rufname:

Text in Tabellenfeld ändern verliert Links und Untertabellen - Text in Tabellenfeld ändern verliert Links und Untertabellen

Nach oben
       Version: Office 2010

Hi All,
hat jemand einen Tip für mich, ich beiße mir gerade die Zähne aus.

Ich bearbeite eine generiertes Worddatei mit Tabellen nach. In einer Tabelle sollen am Zellenanfang und -Ende stehende Leerzeilen (als Paragraphen / CHR(13) vorhanden) gelöscht werden, nicht aber die innerhalb der Zelle ansonsten vorkommenden Leerzeilen.

Hierzu übernehme ich die Zelle in ein range-Objekt, prüfe jeweils das letzte Zeichen ob es ein CHR(13) ist und setze den End-Pointer entsprechend um 1 Zeichen zurück. Die Umsetzung funktioniert auch prima (wenn auch wie zu erwarten etwas träge).

ABER: sobald die bearbeitete Zelle ein Objekt beinhaltet (ein Bild, Hyperlink, eingebettete Tabelle, o.ä.) ist dieses beim Zurückschreiben des Range-Objektes auf die Zelle nur noch normaler Text. D.h. Bilder fehlen, eingebundene Tabellen sind zu Text konvertiert, Hyperlinks existieren nur noch als Bezeichnung.
Meine Vermutung: das Problem liegt daran dass ich im Range-Objekt die Eigenschaft "Text" verwenden muss und daher die Objektinfo schon gar nicht auf mein "Zwischenobjekt" übertragen wird. Ich finde aber partout keine andere Möglichkeit ausser Range, um den Zellentext zu verändern.


Hat irgendjemand eine Idee wie ich meine Objekte retten kann?


Code:
 
    'Vereinfachter Beispielcode (ohne Schleife):

    Dim ocContent As range
    Set ocContent = ActiveDocument.Tables(2).Cell(3, 2).Range
    ocContent.End = ocContent.End - 1
    If Right(ocContent.Text, 1) = Chr(13) Then ocContent.End = ocContent.End - 1

Vielen Dank im Voraus,
Schwilli
Miss Marple
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Apr 2014, 23:12
Rufname:
Wohnort: 52° 15' 53" N, 10° 31' 26" E


AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Hi,

ich hab Copy & PasteAndFormat wdFormatOriginalFormatting mit Text, Bild und Hyperlink probiert:

Code:
 ...
 Set rngSource = Selection.Tables(1).Cell(1, 1).Range
 Set rngCopy = ActiveDocument.Range(rngSource.Start, rngSource.End - 2)
 rngCopy.Select  'nur zum Überprüfen
 rngCopy.Copy
 rngSource.Delete
 rngSource.PasteAndFormat wdFormatOriginalFormatting
 ...


Der Schnipsel ist komplett ohne das ganze 'Drumherum'.

Hoffe, es klappt Very Happy
MM
theoS
WORD/Excel Erfahren und VBA Bastler


Verfasst am:
15. Apr 2014, 23:43
Rufname: theo

AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Versuche grad mich reinzudenken.
Du willst nur die "führenden Leer-Absätze" der Zellen weghaben?
Dann lösch die halt einfach:
Code:
Sub Oce()
Dim ocContent As Range
Set ocContent = ActiveDocument.Tables(1).Cell(3, 2).Range
For Each o In ocContent.Paragraphs
If Len(o) <= 1 Then
o.Range.Delete
End If
Next o
End Sub

_________________
theo s.
Miss Marple
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Apr 2014, 23:48
Rufname:
Wohnort: 52° 15' 53" N, 10° 31' 26" E

AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Und mein Schnipsel 'kümmert' sich dann um die überflüssigen Absätze am Ende der Zelle ohne das vorherige Format des Zellinhalts zu schrotten.

MM Laughing
theoS
WORD/Excel Erfahren und VBA Bastler


Verfasst am:
15. Apr 2014, 23:55
Rufname: theo

AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Zitat:
Absätze am Ende der Zelle ohne das vorherige Format des Zellinhalts zu schrotten

Die am Ende werden mit deinem Schnipsel brav gelöscht - allerdings auch das jeweils letzte Zeichen. Zumindest bei mir. Und die am Anfang bleiben auch brav da. Jedenfalls bei mir.

Die Endigen hab ich glatt überlesen.

_________________
theo s.
Miss Marple
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Apr 2014, 00:07
Rufname:
Wohnort: 52° 15' 53" N, 10° 31' 26" E

AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Um die am Anfang hab ich mich auch gar nicht gekümmert Laughing

Bei mir bleibt exakt der Zellinhalt ohne ein letztes Return über. Dass vorher eine Abfrage erfolgt, ob das letzte Zeichen denn überhaupt ein Chr(13) ist, habe ich stillschweigend vorausgesetzt, da die (Abfrage) ja auch in dem geposteten Beispiel drin ist. Daher auch mein Hinweis auf 'ohne das ganze Drumherum' Wink .

MM
theoS
WORD/Excel Erfahren und VBA Bastler


Verfasst am:
16. Apr 2014, 00:13
Rufname: theo

AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Tja.
Anfang und Ende.
Mir wäre schon das copy/paste ein wenig suspekt, auch wenn es die Leerabsätze schluckt.
Mit dem sollten beide Seiten geputzt werden:
Code:
Sub Oce()
Dim ocContent As Range
Set ocContent = ActiveDocument.Tables(1).Cell(3, 2).Range
Do While Len(ocContent.Paragraphs(1).Range) <= 1
ocContent.Paragraphs(1).Range.Delete
Loop
lngI = ocContent.Paragraphs.Count - 1
Do While Len(ocContent.Paragraphs(lngI).Range) <= 1
ocContent.Paragraphs(lngI).Range.Delete
lngI = ocContent.Paragraphs.Count - 1
Loop

End Sub

_________________
theo s.
schwili
Office / VBA Kenner


Verfasst am:
16. Apr 2014, 06:41
Rufname:
Wohnort: Löchgau


AW: Text in Tabellenfeld ändern verliert Links und Untertabe - AW: Text in Tabellenfeld ändern verliert Links und Untertabe

Nach oben
       Version: Office 2010

Vielen Dank Euch allen für die kreativen Vorschläge.
Werde ich gleich nachher ausprobieren.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Hilfe, Link anstatt Verlinkter Text 1 Geograph123 83 18. Feb 2013, 15:31
Geograph123 Hilfe, Link anstatt Verlinkter Text
Keine neuen Beiträge Word Serienbriefe: in Word kopiertes Formular mit HTMLControl Forms.HTML:Text.1 0 unwissend24 392 12. Aug 2012, 14:08
unwissend24 in Word kopiertes Formular mit HTMLControl Forms.HTML:Text.1
Keine neuen Beiträge Word Serienbriefe: Probleme mit Serien EMail als Text 2 Thomas Kirsch 601 13. Apr 2012, 13:01
Thomas Kirsch Probleme mit Serien EMail als Text
Keine neuen Beiträge Word Serienbriefe: Feldfunktionen in mehreren Serienbriefen gleichzeitig ändern 10 SBG 794 24. Nov 2011, 08:59
SBG Feldfunktionen in mehreren Serienbriefen gleichzeitig ändern
Keine neuen Beiträge Word Serienbriefe: Datenquellen ändern 0 Kojiro 1000 22. Aug 2011, 11:46
Kojiro Datenquellen ändern
Keine neuen Beiträge Word Serienbriefe: .CustomDocumentProperties Namen ändern und neuorganisieren 3 boomshalek 2126 06. Jul 2011, 13:52
boomshalek .CustomDocumentProperties Namen ändern und neuorganisieren
Keine neuen Beiträge Word Serienbriefe: SQL Befehl Pfad ändern 1 doschtinator 1911 10. Mai 2011, 15:48
doschtinator SQL Befehl Pfad ändern
Keine neuen Beiträge Word Serienbriefe: Speicherort von Datenquelle und Serienbrief ändern 2 Joe1075 2327 06. Mai 2011, 10:27
Gast Speicherort von Datenquelle und Serienbrief ändern
Keine neuen Beiträge Word Serienbriefe: Text von Seite 1 auf Seite 2 übernehmen 7 Chrissan79 1401 09. Apr 2010, 11:53
Chrissan79 Text von Seite 1 auf Seite 2 übernehmen
Keine neuen Beiträge Word Serienbriefe: Text im Serienbrief nach Anrede auswählen (wenn/dann) 4 Iris26 4157 06. Aug 2009, 12:38
Gast Text im Serienbrief nach Anrede auswählen (wenn/dann)
Keine neuen Beiträge Word Serienbriefe: Durch Seriendruck Schattierung bedingt ändern 1 SirSten 1508 26. Mai 2009, 09:08
SirSten Durch Seriendruck Schattierung bedingt ändern
Keine neuen Beiträge Word Serienbriefe: Text wird abgeschnitten 1 Thomas-Gast 4355 06. März 2009, 19:09
charlybrown Text wird abgeschnitten
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Web Editor Forum