Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

.rtf-Datei auslesen

.rtf-Datei auslesen
15.05.2006 23:55:27
Reinhard
Hallo Wissende
.rtf nahm Hans nicht an, ich taufte sie in .txt um.
Wie liest man denn eine .rtf-Datei aus?
https://www.herber.de/bbs/user/33660.txt
Wenn ich sie als .rtf in Word öffne, erscheinen nach dem Vorspann die Daten Zeilenweise.
Wie mache ich das um sie in Excel einzulesen, also jede Zeile in Spalten anhand des Kommas einzutragen?
Wie mir mein achfolgendes Makro zeigt sind die daten da wie bei Html-Seitencode mit Tags getrennt, muss ich die alle eliminieren oder geht es direkter?
Option Explicit
Sub tt()
Dim Satz
Close
Open "C:\andre\cape race.rtf" For Input As #1
While Not EOF(1)
Input #1, Satz
MsgBox Satz
Wend
Close
End Sub

Gruß
Reinhard
ps: Übrigens, wäre mein erster kommerzieller Auftrag wenn es klappt, dann die Daten in Excl einzubinden bekomme ich hin, aber Word-Vba kenne ich nicht bzw den Zugriff auf Word mit Excel-Vba. Naja das Angebot von 70-130 € für die Lösung ist nicht so dolle, aber wäre ein Anfang, so wie Dagobert Duck mit seinem ersten Taler oder was das war :-)))

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .rtf-Datei auslesen, ist XML
16.05.2006 08:02:04
firmus
Hi Reinhard,
Deine Datei scheint eine XML-file zu sein.
einfach von .TXT oder .RTF auf XML ändern und mit Word öffnen.
Das sollte Dir schon mal einen Schritt weiterhelfen.
(In XLS ist sie nicht zu öffnen, XML nicht verträglich).
Wie TXT-Files in XLS zu Öffnen sind:
In EXCEL über File, OPEN, ..... siehe attached ppt-file.
https://www.herber.de/bbs/user/33662.ppt
Gruss,
Firmus,
Brauchbar?
AW: .rtf-Datei auslesen, ist XML
16.05.2006 13:42:42
Reinhard
Hallo firmus,
danke für die ppt, aber scheinbar nützt mir das wenig, denn in der Datei ist z.B Düsseldorf als
D\loch\af0\hich\af0\dbch\f1 \'fc\hich\af0\dbch\af1\loch\f0 sseldorf
eingetragen. Scheinbar werden da Umlaute großstringig ersetzt, deshalb nützt mir doe Trennung nach "\" nicht viel.
Im Inet fand ich Code der leicht angepasst und als Word-Makro gestartet in Word bestens funktioniert.
Jetzt muss ich nur noch wissen, wie ich den Code umschreiben muss damit er in Excel läuft, also in Excel Word mit einer betimmten Datei öffnen, die zeilen sequentiell auslesen usw.
Option Explicit
Sub DokumentInZeileSpalten2()
Dim Zeilen() As String, strtext, i
strtext = Replace(ActiveDocument.Content, Chr(13), Chr(11))
Zeilen = Split(strtext, Chr(11))
For i = 0 To UBound(Zeilen)
If InStr(Zeilen(i), "Einlage") > 0 Then MsgBox Zeilen(i)
Next i
End Sub

Gruß
Reinhard
Anzeige
AW: .rtf-Datei auslesen
16.05.2006 14:41:11
Reinhard
Hallo Wissende,
Option Explicit
' Die Bibliothek "Microsoft Word x.x Object Library"
' muss aktiviert sein (EARLY BINDING)
Sub ImportFromWord()
Dim WordApp As New Word.Application, strPath As String
Const strFile As String = "cape race.rtf"
strPath = "c:\Andre"
With WordApp
.ChangeFileOpenDirectory strPath
.Documents.Open strFile
With .Selection
.WholeStory
.Copy
End With
End With
Workbooks.Add
ActiveSheet.Paste
End Sub
Wenn das Makro läuft erscheint das Fensterchen "Dokument wird verwendet" und ich muss
"Schreibgeschützt" auswählen. Danach läuft das Makro durch.
Um das zu beheben, wollte ich mit F8 die Codezeile herausfinden.
Das geht aber nicht weil sich Excel dann aufhängt in/an der Zeile "With .Selection",
irgendwann kommt dann Fehlermeldung dass Excel noch auf Antwort von der OLE-Anwendung
wartet.
Ich muss dann Excel mit dem Task-manager abschiessen.
Meine 3 Fragen:
1) Wie unterdrücke ich die Meldung "Dokument wird verwendet", DisplayAlerts?
2) Ich möchte keine neue Mappe, die Daten sollen durch
.copy destination:=Thisworkbook.worksheets("Tabelle1").Range("A1")
in die aktive Excelmappe, aber scheinbar ist dieses "copy" von Word und kennt
destination nicht.
3) Wie heisst der GUID für "Microsoft Word x.x Object Library"
analog zum Verweis auf fm20:
Private Const FM20_GUID = "{0D452EE1-E08F-101A-852E-02608C4D0BB4}"

Danke ^ Gruß
Reinhard
Anzeige
AW: .rtf-Datei auslesen
16.05.2006 17:00:09
Franz
Hallo Reinhard,
nach den folgenden Anpassungen funktioniert das Makro (Konfiguration: WinXP, MS Office Professional 2003). Dabei darf die rtf-Datei nicht in Word geöffnet sein, wenn das Makro gestartet wird. Ansonsten müßte man in Word prüfen, ob die rtf-Datei schon geöffnet ist und das Dokument aktivieren, hab ich auf die Schnelle aber nicht hinbekommen. Nach dem Einfügen der Daten in die EXCEL-Tabelle wird die rtf-Datei in Word wieder geschlossen.

Option Explicit
' Die Bibliothek "Microsoft Word x.x Object Library"
' muss aktiviert sein (EARLY BINDING)
Sub ImportFromWord()
Dim WordApp As New Word.Application, strPath As String, wks1 As Worksheet
Const strFile As String = "cape race.rtf"
Set wks1 = ActiveSheet
strPath = "c:\Andre"
With WordApp
.ChangeFileOpenDirectory strPath
.Documents.Open strFile
With .Selection
.WholeStory
.Copy
End With
wks1.Range("A1").Select
wks1.PasteSpecial Format:="Unicode-Text", Link:=False, DisplayAsIcon:=False
'       oder
'        wks1.Paste
Range("A1").Select
.ActiveDocument.Close SaveChanges:=False
.Quit
End With
End Sub

Zu Frage 3 hab ich keien Antwort.
Gruß
Franz
Anzeige
AW: .rtf-Datei auslesen
16.05.2006 17:49:23
Reinhard
Hallo Franz,
ich muss jetzt weg aber baue das heute Abend in meinen inzwischen stark gewachsenen Code irgendwie ein.
Gruß
Reinhard
AW: .GUID
16.05.2006 18:51:16
Tassos
Hallo Reinhard,
hiermit wird der GUID von jeden aktivierten Verweis in einBlatt aufgelistet:


Sub dumbRef()
'listet die aktivierte Verweise auf
Dim i%
On Error Resume Next
For i = 1 To ActiveWorkbook.VBProject.References.Count
Cells(i, 1) = ActiveWorkbook.VBProject.References.Item(i).Name
Cells(i, 2) = ActiveWorkbook.VBProject.References.Item(i).Description
Cells(i, 3) = ActiveWorkbook.VBProject.References.Item(i).GUID
Next
Columns.AutoFit
End Sub


Gruss
Tassos
Anzeige
Danke dir sehr, o.w.T.
19.05.2006 16:00:25
Reinhard
Hallo Tassos,
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige