frankas

Excel-Spalte mit rtf Steuerzeichen umwandeln in "normalen" Text

Ich habe eine Export-Funktion in einem ERP benutzt, um Daten nach Excel zu exportieren. Dabei wurde eine Spalte mit Richtext gefüllt.

Hier 2 Beispiele des Zell-Inhalts in dieser Spalte:

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}\viewkind4\uc1\pard\lang1031\f0\fs18 - zentrieren \par\par}
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}\viewkind4\uc1\pard\lang1031\f0\fs18 - ausrichten \par auf 90 - 100cm \par\par}

Kann man diese Inhalte ohne Steuerzeichen in eine andere Spalte (die ich anhängen würde) übertragen, so dass dort nur noch der `saubere` Text übrigbleibt?
(in den Beispielen also `- zentrieren` bzw `- ausrichten auf 90 - 100cm`)

Falls das nur mit Programmcode möglich ist und jemand diesen an dieser Stelle veröffentlicht, so wäre es
schön, wenn in diesem Code die Variablen durch meine Feld-/Dateinamen ersetzt werden könnten:

Excel-Dateiname = "artikel.xlsx"
Spaltenüberschrift = "Bearbeitung"

Im Einsatz:
Windows 10
Excel 2016
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 345798

Url: https://administrator.de/forum/excel-spalte-mit-rtf-steuerzeichen-umwandeln-in-normalen-text-345798.html

Ausgedruckt am: 01.05.2025 um 16:05 Uhr

emeriks
emeriks 09.08.2017 aktualisiert um 09:03:23 Uhr
Goto Top
Hi,
das Einfachste wäre wohl ein Makro.

Hier ein Beispiel für eine entsprechende Klasse: https://www.experts-exchange.com/articles/14035/RichText-to-Text-convers ...

Habe diese eben mal getestet und es funktioniert.

E.

Edit: Diese Klasse greift auf WinWord zurück. Dieses muss also auch installiert sein.
colinardo
colinardo 09.08.2017 aktualisiert um 11:54:08 Uhr
Goto Top
Servus,
Geht auch ohne installiertes Word in Excel, mit dem Richttext-ActiveX-Control:
Sub RTFToText()
    Set objRTF= CreateObject("RICHTEXT.RichtextCtrl")  
    objRTF.TextRTF = "{\rtf1 Guten Tag! {\i Dies} ist \b{\i ein\i0 formatierter \b0Text}.\par\i0 Das \b0Ende.}"  
    MsgBox objRTF.Text
End Sub
Grüße Uwe
emeriks
emeriks 09.08.2017 aktualisiert um 11:57:28 Uhr
Goto Top
Hallo Uwe,
das hatte ich erst bei mir versucht, ging aber nicht, weil er das Control nicht erstellt.
Laut Registry auch nicht auf meinem Computer vorhandene (Win10, Office 2010). Ich gehe also davon aus, dass das auch woanders so sein kann.
Deshalb habe ich eine Alternative herausgesucht.

E.
colinardo
colinardo 09.08.2017 um 12:18:15 Uhr
Goto Top
Das Control lässt sich nur in VBA-Hostumgebungen erstellen in denen Windows-Forms möglich sind, in VBS geht es hier nicht.
emeriks
emeriks 09.08.2017 um 12:21:51 Uhr
Goto Top
Ich habe in VBA getestet. Excel 2010.
Oder was meinst Du?
colinardo
colinardo 09.08.2017 aktualisiert um 12:39:01 Uhr
Goto Top
Zitat von @emeriks:
Ich habe in VBA getestet. Excel 2010.
Richtig. Dort geht es, wie auch in Word Access etc, als reines VBS nur eben nicht.
Vorhanden sein muss, wie du schon festgestellt hast, das folgende ActiveX-Control: "Microsoft Rich TextBox Control 6.0 (SP6)" (RICHTX32.OCX / kann ich bei Bedarf zur Verfügung stellen, funktioniert auf W10 auch mit Office 2016 noch einwandfrei wenn man es per regsvr32 registriert)