Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Format aus rtf in Zelle darstellen

Format aus rtf in Zelle darstellen
Felix
Hallo,
in unserer ERP-Datenbank werden einige kurze Texte im rtf-Format gespeichert. Diese lese ich aus und stelle sie erfolgreich, also mit den Formatierungen im rtf-Control auf einer Userform dar.
Ist es möglich, die gleiche Darstellung auch innerhalb einer Zelle hinzubekommen? Wenn ja, wie geht das per VBA? Und: Gibt es eine Möglichkeit, Formatierungen und Inhalt einer Excel-Zelle als rtf darzustellen?
Vielen Dank für Eure Hilfe!
Felix
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Format aus rtf in Zelle darstellen
22.05.2010 20:54:51
fcs
Hallo Felix,
Excel hat kein RTF-Import-Modul.
Die Übernahme der Daten dürfte nur über den Umweg Word (oder ein anderes Programm mit rtf-Import) funktionieren.
RTF-Datei mit Word öffnen. Dann kompletten Text in Word kopieren und in Excel im HTML-Format einfügen. Dabei werden allerdings einige Zahlenformate nicht unbedingt 1:1 übernomen.
Nachfolgend ein Beispielmakro für den Import.
Gruß
Franz
Sub RTF_Import()
Dim wks As Worksheet
Dim vDatei As Variant
Dim oApp As Object, oDoc As Object, oRange As Object
On Error GoTo Fehler
'Einfüge-Zelle in Excel selektieren
Set wks = ActiveSheet
With wks
.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select
End With
'RTF-Datei - hier ggf. Dateiauswahldialog einbauen
vDatei = "C:\Users\Admin\Documents\200.rtf"
'RTF-Datei in Word schreibgeschützt öffnen
Set oApp = VBA.CreateObject("Word.Application")
Set oDoc = oApp.Documents.Open(Filename:=vDatei, _
ConfirmConversions:=False, ReadOnly:=True)
Set oRange = oDoc.StoryRanges(1) '1 = wdMainTextStory
'Wordtext kopieren und als HTML in Excel einfügen
oRange.Copy
wks.PasteSpecial Format:="Html", link:=False
'RTF-Datei wieder schliessen und Word beenden
oDoc.Close False
oApp.Quit
Fehler:
With Err
Select Case .Number
Case 0
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
If Not oDoc Is Nothing Then oDoc.Close
If Not oApp Is Nothing Then oApp.Quit
End Select
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

RTF in Excel darstellen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um RTF in Excel darzustellen, kannst Du ein VBA-Makro verwenden, das die RTF-Datei in Excel importiert. Hier ist eine detaillierte Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub RTF_Import()
       Dim wks As Worksheet
       Dim vDatei As Variant
       Dim oApp As Object, oDoc As Object, oRange As Object
       On Error GoTo Fehler
       'Einfüge-Zelle in Excel selektieren
       Set wks = ActiveSheet
       With wks
           .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select
       End With
       'RTF-Datei - hier ggf. Dateiauswahldialog einbauen
       vDatei = "C:\Users\Admin\Documents\200.rtf"
       'RTF-Datei in Word schreibgeschützt öffnen
       Set oApp = VBA.CreateObject("Word.Application")
       Set oDoc = oApp.Documents.Open(Filename:=vDatei, _
       ConfirmConversions:=False, ReadOnly:=True)
       Set oRange = oDoc.StoryRanges(1) '1 = wdMainTextStory
       'Wordtext kopieren und als HTML in Excel einfügen
       oRange.Copy
       wks.PasteSpecial Format:="Html", link:=False
       'RTF-Datei wieder schliessen und Word beenden
       oDoc.Close False
       oApp.Quit
    Fehler:
       With Err
           Select Case .Number
           Case 0
           Case Else
               MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
               If Not oDoc Is Nothing Then oDoc.Close
               If Not oApp Is Nothing Then oApp.Quit
           End Select
       End With
    End Sub
  4. Ändere den Pfad zur RTF-Datei in der Zeile vDatei = "C:\Users\Admin\Documents\200.rtf" in den Pfad zu Deiner Datei.

  5. Führe das Makro aus, indem Du im VBA-Editor auf F5 drückst oder das Makro über Excel startest.

Mit diesem Makro kannst Du RTF in Excel importieren und formatieren.


Häufige Fehler und Lösungen

  • Fehler beim Öffnen der RTF-Datei: Stelle sicher, dass der Pfad zur RTF-Datei korrekt ist und dass die Datei existiert.
  • Excel stürzt ab: Überprüfe, ob Word korrekt installiert ist, da das Makro Word zur Verarbeitung der RTF-Datei verwendet.
  • Formatierung ist nicht wie erwartet: Beachte, dass nicht alle RTF-Formatierungen in Excel perfekt übernommen werden. Probiere die Formatierung in Word vor dem Import zu überprüfen.

Alternative Methoden

Wenn Du die RTF-Datei nicht über VBA importieren möchtest, kannst Du die RTF-Datei auch manuell in Word öffnen und den Text in Excel einfügen:

  1. Öffne die RTF-Datei in Microsoft Word.
  2. Kopiere den gesamten Text (CTRL + A, dann CTRL + C).
  3. Wechsle zu Excel und füge den Text in die gewünschte Zelle ein (CTRL + V).

Diese Methode ist einfach, erfordert jedoch manuelles Arbeiten.


Praktische Beispiele

  • Beispiel 1: Wenn Du eine .rtf Datei hast, die Formate wie Fett oder Kursiv enthält, wird diese Formatierung beim Import in Excel erhalten bleiben, jedoch möglicherweise nicht 1:1 umgesetzt.
  • Beispiel 2: Du kannst das Makro anpassen, um mehrere RTF-Dateien hintereinander zu importieren, indem Du eine Schleife integrierst, die durch ein Verzeichnis von RTF-Dateien iteriert.

Tipps für Profis

  • Verwende die Funktion PasteSpecial, um die Daten als HTML einzufügen, was die Formatierung in Excel erhält.
  • Experimentiere mit verschiedenen RTF-Formatierungen in Deiner Datei, um herauszufinden, welche am besten in Excel dargestellt werden.
  • Achte darauf, dass Du immer ein Backup Deiner Excel-Datei machst, bevor Du Makros ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Was ist ein RTF-Format? RTF steht für Rich Text Format und ist ein plattformunabhängiges Dateiformat zur Speicherung von Textdokumenten mit Formatierungen.

2. Kann ich RTF in Excel umwandeln? Ja, Du kannst RTF-Dateien in Excel importieren, indem Du VBA oder Word zur Umwandlung verwendest. Das hier vorgestellte Makro ist eine effektive Methode dafür.

3. Welche Excel-Version benötige ich? Das VBA-Makro sollte in den meisten aktuellen Excel-Versionen funktionieren, einschließlich Excel 2013 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige