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

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
Anzeige