Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie kann ich eine MS Word Datei laden?? (https://www.delphipraxis.net/148010-wie-kann-ich-eine-ms-word-datei-laden.html)

fl63 20. Feb 2010 16:11


Wie kann ich eine MS Word Datei laden??
 
Hallo DPler

Wie kann ich eine MS Word Datei ohne Formatverlust in ein RichEdit Feld laden?
RichEdit.Lines.LoadfromFile...
ergibt im RichEdit Formatierungen über Formatierungszeichen und der eigentliche Text ist nicht mehr zu erkennen.
Die WordTextdatei stammt von Word 2000.
Es ist wirklich nur Text mit Fett oder Kursiv Zeichen aber ohne jede Grafik.

Hilfeee!

Jürgen Thomas 20. Feb 2010 16:45

Re: Wie kann ich eine MS Word Datei laden??
 
Hallo,

in dieser Form geht das nur, wenn die Datei von Word aus als RTF gespeichert wurde; dann kann sie eingelesen, angezeigt und verarbeitet werden. Aber ganz "verlustfrei" ist das nicht; beispielsweise werden Tabulatoren in RichEdit immer linksbündig angezeigt. Als DOC ist es nicht möglich.

Es wird schon seinen Grund haben, warum MS mit Word ein umfangreiches eigenständiges Programm anbietet (das einzeln früher immerhin weit über 1000 DM gekostet hatte).

Gruß Jürgen

fl63 21. Feb 2010 09:23

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von Jürgen Thomas
Hallo,

in dieser Form geht das nur, wenn die Datei von Word aus als RTF gespeichert wurde; dann kann sie eingelesen, angezeigt und verarbeitet werden. Aber ganz "verlustfrei" ist das nicht; beispielsweise werden Tabulatoren in RichEdit immer linksbündig angezeigt. Als DOC ist es nicht möglich.

Gruß Jürgen

Der Weg über RTF ist mir leider nicht möglich da ich kein MS Word besitze.
Vielleicht gibt es einen anderen Weg als RE.Lines.Loadfrom... Andere Programme besitzen ebenfalls Word Konvertierer. Es muß also auch ohne MS Word gehen.

himitsu 21. Feb 2010 09:27

Re: Wie kann ich eine MS Word Datei laden??
 
Es gibt viele Programme, welche Word-Dateien importieren können (OpenOffice und Co.) und es gibt auch einige Konvertierungsprogramme, welche Word nach RTF konvertieren würden.

TRichEdit versteht natürlich nur Text und RichText (wer hätte das gedacht :zwinker: ) und eine Word-Datei ist halt eine binäre Datei entsprechend Microsofts .DOC-Spezifikationen.

BUG 21. Feb 2010 09:52

Re: Wie kann ich eine MS Word Datei laden??
 
Wenn du dir die Arbeit machen möchtest, könnte dir das hier helfen.

fl63 21. Feb 2010 10:12

Re: Wie kann ich eine MS Word Datei laden??
 
Gibt es denn keine einfachere Möglichkeit?

Bernhard Geyer 21. Feb 2010 10:13

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von fl63
Gibt es denn keine einfachere Möglichkeit?

Wenn Du ein paar € investierst, ja, mit der TRichView-Komponente.

fl63 21. Feb 2010 10:46

Re: Wie kann ich eine MS Word Datei laden??
 
Schade!

Dann muß ich mich wohl damit abfinden, daß es dafür keine Lösung gibt.

mkinzler 21. Feb 2010 10:49

Re: Wie kann ich eine MS Word Datei laden??
 
Hast du mal mit dem freien Wordviewer versucht?

fl63 21. Feb 2010 10:59

Re: Wie kann ich eine MS Word Datei laden??
 
Nein. Dem Namen nach zeigt dieser doch nur an. Ich will ja die Datei im RichEdit sehen und bearbeiten können. Oder ich muß die Datei (mit Viewer?) in RTF verwandeln. Damit lade ich dann aber eine RTF Datei und kein Worddokument. Und gerade das wollte ich ja.

mkinzler 21. Feb 2010 11:01

Re: Wie kann ich eine MS Word Datei laden??
 
Warum heisst der RichEdit wohl RichEdit und nicht WordEdit?

alzaimar 21. Feb 2010 11:02

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von fl63
Damit lade ich dann aber eine RTF Datei und kein Worddokument. Und gerade das wollte ich ja.

Na und? DOC im Hintergrund in eine RTF-Datei im TEMP-Verzeichnis konvertieren, diese dann anzeigen. Wo ist das Problem?

fl63 21. Feb 2010 12:11

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von alzaimar
Zitat:

Zitat von fl63
Damit lade ich dann aber eine RTF Datei und kein Worddokument. Und gerade das wollte ich ja.

Na und? DOC im Hintergrund in eine RTF-Datei im TEMP-Verzeichnis konvertieren, diese dann anzeigen. Wo ist das Problem?

DOC im Hintergund...

Ich versteh das nicht.

Ich muß offenbar über Button Click --> Doc Datei konvertieren(womit?) --> Konverter über Befehlszeile starten, konvertieren lassen --> konvertierte Datei über Loadfrom.. laden.

Seh ich das falsch?

alzaimar 21. Feb 2010 14:08

Re: Wie kann ich eine MS Word Datei laden??
 
Ja genau so würde ich das machen, bis ich einen DOC-Viewer gefunden, gekauft oder selbst geschrieben habe.

Um eine Word-Datei in RTF zu konvertieren, bzw. rauszubekommen, wie das geht, bemühe man Google, besorge sich daraufhin eines der vielen Freeware-Programme, teste sie auf Funktion (z.B. Aufruf mit Kommandozeilenparameter) und setze sie in seinem eigenen Projekt ein. Dazu müsste man wissen, wie man in Delphi ein anderes Programm startet, aber wozu gibt es Google oder die DP.

Ich befürchte aber, das Dir gewissen Grundlagen fehlen.

fl63 25. Feb 2010 08:22

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von alzaimar
Ja genau so würde ich das machen, bis ich einen DOC-Viewer gefunden, gekauft oder selbst geschrieben habe.

Um eine Word-Datei in RTF zu konvertieren, bzw. rauszubekommen, wie das geht, bemühe man Google, besorge sich daraufhin eines der vielen Freeware-Programme, teste sie auf Funktion (z.B. Aufruf mit Kommandozeilenparameter) und setze sie in seinem eigenen Projekt ein. Dazu müsste man wissen, wie man in Delphi ein anderes Programm startet, aber wozu gibt es Google oder die DP.

Ich befürchte aber, das Dir gewissen Grundlagen fehlen.


Davon bin ich überzeugt, daß mir da einige Grundlagen fehlen. Ich hab ja Zeit was heißt, diesen Beitrag kann man ja auch noch in Monaten fortsetzen.
Doch bis dahin welchen Freeware Wordviewer mit Kommandozeile könnt ihr denn empfehlen?

QuickAndDirty 25. Feb 2010 08:32

Re: Wie kann ich eine MS Word Datei laden??
 
Sourceforge hat sowas nicht???

alzaimar 25. Feb 2010 17:10

Re: Wie kann ich eine MS Word Datei laden??
 
Zitat:

Zitat von fl63
Ich hab ja Zeit ... Doch bis dahin welchen Freeware Wordviewer mit Kommandozeile könnt ihr denn empfehlen?

Versuch's doch mal hiermit

fishbrain 25. Feb 2010 17:33

Re: Wie kann ich eine MS Word Datei laden??
 
Damals habe ich das in SCORE folgendermaßen gelöst:

Delphi-Quellcode:

  //Worddokument laden
   wdoc := form1.WordApplication1.Documents.Open2000(file1, EmptyParam, EmptyParam,
           rfiles, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
           EmptyParam, EmptyParam, visible);
  //Text in Memo Laden
  memo1.Lines.Text := wdoc.Range(Emptyparam,emptyparam).Text;
Ob das sauber und effektiv ist weiß ich nicht. Aber es funktioniert.

Vielleicht konnte ich dir helfen

MFG

alzaimar 25. Feb 2010 18:35

Re: Wie kann ich eine MS Word Datei laden??
 
Er will das auch bei nicht installiertem WORD machen.

fishbrain 25. Feb 2010 18:37

Re: Wie kann ich eine MS Word Datei laden??
 
Achso. Sorry dann geht das natürlich nicht.
Hab ich wohl zu schnell überlesen :oops: .

Gebhard 26. Feb 2010 19:58

Re: Wie kann ich eine MS Word Datei laden??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

in dem Anhang befindet sich u.a. die ActiveX-Datei "doctxtcom.dll". Mit ihr kannst Du den Text einer Worddatei auslesen. Leider nur den Text und nicht den Inhalt von Steuerelementen wie z.B. Checkboxen.
Wenn ein Leser eine DLL oder vergleichbares kennt, um den Inhalt von Steuerelementen auszulesen, wäre ich für einen Hinweis dankbar.

Danke und Tschüss

Gebhard

waub 27. Feb 2010 16:28

Re: Wie kann ich eine MS Word Datei laden??
 
Eine kleine Hilfe bei der Suche:
WORDPAD ist in WINDOWs enthalten, kann DOC-Files einlesen und als RTF-File ausgeben.

fl63 28. Feb 2010 15:24

Re: Wie kann ich eine MS Word Datei laden??
 
Hallo DPler


Zitat:

Zitat von alzaimar
Versuch's doch mal hiermit

Ich hab's versucht. Sehr viel Pdf to Word und andere. Ich hatte die Hoffnung das mir jemand, der sich damit beschäftigt ein konkretes Programm nennen könnte.


Zitat:

Zitat von Gebhard
Moin,

in dem Anhang befindet sich u.a. die ActiveX-Datei "doctxtcom.dll". Mit ihr kannst Du den Text einer Worddatei auslesen.

Danke und Tschüss

Gebhard

Auch das hab ich versucht. Deine Dll ist überhaupt nicht in diesem Programm eingebunden. Die Unit ...TLB, ich hab den genauen Namen jetzt nicht vor mir, besitze ich nicht. Somit kann icvh dein Programm leider nicht nutzen.

Zitat:

Zitat von waub
Eine kleine Hilfe bei der Suche:
WORDPAD ist in WINDOWs enthalten, kann DOC-Files einlesen und als RTF-File ausgeben.

Ich möchte das Worddokument innerhalb meines Programms nutzen, also entweder direkt öffnen oder zwangsweise innerhalb des Programms in RTF wandeln. Das vorher in RTF verwandeln macht auch OPen Office.

Ich bedanke mich bei allen DPlern für die bisherige Hilfe und hoffe auf weitere Unterstützung.

Gebhard 3. Mär 2010 20:47

Re: Wie kann ich eine MS Word Datei laden??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

entschuldige bitte, daß ich mich erst jetzt melde. Ich hatte durch beruflichen Stress in den letzten Tagen keine Zeit, um mir die letzten Beträge in DP anzusehen.

Du mußt die DLL als Typenbibliothek dem Projekt hinzufügen. Wie das funktioniert, habe ich in den Bilder 1 - 4 des Anhanges versucht darzustellen. Die von Dir erwähnte fehlenden "DocCom_TLB" wird hierbei automatisch erstellt. Die Bilder zeigen den Ablauf in D7. Ich vermute, daß der Ablauf in späteren Versionen vergleichbar ist.

Ich hoffe, Dir hiermit helfen zu können.

Tschüss

Gebhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz