AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DOC Datei zu RTF Datei umwandeln

Ein Thema von binio · begonnen am 31. Jul 2007 · letzter Beitrag vom 8. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#1

DOC Datei zu RTF Datei umwandeln

  Alt 31. Jul 2007, 14:10
Hallo möchten mit hilfe von Word eine *.doc Datei zu einer *.rtf datei umwandeln.
habe mit OleVariant schon word öffnen können und auch eine *.rtf Datei erzeugen können.
Das Problem ist nur das ich mit "CreateProcess" diesen Externen aufruf überwachen und in den Hintergrund schieben will. Also bis jetzt ist es so das ich den Focus verliere wenn er zu dem Codestück kommt.
Mit "CreateProcess" kann man sich informationen über den Status des ausgeführten programms hollen.
Was nun das Problem ist das ich kein externes Programm aufrufe sondern eine Objekt nutze.

Meine bisherigen Erfolg habe ich hier mal gepostet:
Delphi-Quellcode:
 function doctortf(quelle: string; ziel: string): boolean;
 var
   V: OleVariant;
 begin { func doctortf }
   try
     V:=CreateOleObject('Word.Application');
     v.visible:=false;
     V.Documents.open(FileName:=quelle, {ConfirmConversions:=true,}
         ReadOnly:=False, AddToRecentFiles:=False, PAsswordDocument:='',
         PasswordTemplate:='', Revert:=False, WritePasswordDocument:='',
         WritePasswordTemplate:='', Format:=wdOpenFormatAuto);
     V.ActiveDocument.SaveAs(FileName:=ziel, FileFormat:=wdFormatRTF,
         LockComments:=False, Password:='', AddToRecentFiles:=True,
         WritePassword:='', ReadOnlyRecommended:=False,
         EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False,
         SaveFormsData:=False, SaveAsAOCELetter:=False);
     V.Quit;
   except
     // if (varisclear(v)) or (varisnull(v)) then
     begin
       abbruch:=true;
       application.messagebox(pchar('Es wurde keine Word-Installation '+
            'vorgefunden!'), 'Fehler!', mb_ok);
       exit;
     end;
   end;
 end; { func doctortf }
Ich hoffe es kann mir hier jemand helfen. Bin schon am verzweifeln....!!!!

Danke im vorraus
if(copy_paste==false)
Programmierer=Hilflos;
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: DOC Datei zu RTF Datei umwandeln

  Alt 31. Jul 2007, 17:08
Irgendwie ist es schwer zu verstehen, was dein eigentliches Problem ist.
Zwischen den Zeilen lese ich, dass deine Anwendung ungestört weiterlaufen soll,
während Winword im Hintergrund die Dateien konvertiert, richtig ?
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: DOC Datei zu RTF Datei umwandeln

  Alt 31. Jul 2007, 17:14
Bei OLE/COM würde ich nix mit (Hindergrund-)Threads etc. machen. Hab schon diverse Anwendungen (ok, war Software aus der "1A-Qualitätschmiede" Adobe versucht in Threads auszulagern, jedoch hat es dann in den entsprechenden Anwendungen etc. gehackt (Abstürze, Keine Rückmeldunge, ...).

Falls du ein paar € ausgeben kannst, so gäbe es bei TRichView eine fertige Lösung. Diese laufen AFAIK über die installierten Import/Exportfilter von Word.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: DOC Datei zu RTF Datei umwandeln

  Alt 31. Jul 2007, 17:59
Zitat von binio:
Hallo möchten mit hilfe von Word eine *.doc Datei zu einer *.rtf datei umwandeln.
Was nun das Problem ist das ich kein externes Programm aufrufe sondern eine Objekt nutze.
...
Wieso denn? Wenn du Word als OLE-Objekt aufrufst, laufen Word und dein Programm nebeneinander her wie andere Programme auch, und du kannst mit Anklicken der Fenster oder sonstwie hin und her wechseln. Geht bei mir jedenfalls mit Excel so: ich übertrage Messdaten in Excel, die kann ich dort weiterbearbeiten, was normalerweise ja der Sinn der Übung ist. Genausogut kann ich aber auch Excel mitsamt den Daten links liegenlassen und in meinem eigenen Programm weiterarbeiten. Wo ist da ein Problem?

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#5

Re: DOC Datei zu RTF Datei umwandeln

  Alt 31. Jul 2007, 22:49
ich versteh das problem auch nicht so ganz.
wozu willst du das speichern als rtf als prozess überwachen.
was versprichst du dir von der ganzen sache?
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#6

Re: DOC Datei zu RTF Datei umwandeln

  Alt 1. Aug 2007, 13:32
Da ich ja eine Rießen Datei von doc nach rtf umwandeln will dauert es einige Minuten bis die Anwendung fertig ist. Daher will ich den Prozess im Hintergrund in ein Thread packen und wenn er fertig ist den User Weiterführen vorher soll er nur eine Meldung bekommen die Lautet "Bitte warten, konvertierung läuft..."
Hoffe mein Problem ist jetzt bischen verständlicher :o)

Aber ich denke Bernhard Geyer hat schon recht....
if(copy_paste==false)
Programmierer=Hilflos;
  Mit Zitat antworten Zitat
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#7

Re: DOC Datei zu RTF Datei umwandeln

  Alt 5. Aug 2007, 20:20
gibt es eine Möglichkeit einen Prozess vrom start nur bestimmte Resourcen zu zu schreiben ?
muss das irgentwie hinbekommen das der Prozess nicht so viel CPU-Zeit bekommt.
if(copy_paste==false)
Programmierer=Hilflos;
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#8

Re: DOC Datei zu RTF Datei umwandeln

  Alt 6. Aug 2007, 20:56
abgesehen von deiner miserablen rechtschreibung versteh ich nur bahnhof.

dem prozess weniger cpu-zeit zukommen zu lassen, dann dauert dein speichervorgang doch noch länger?!
  Mit Zitat antworten Zitat
7. Aug 2007, 05:35
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
Ich denke, es paßt hier so einigemaßen hin.
Benutzerbild von binio
binio

Registriert seit: 25. Nov 2005
Ort: Werl, Iserlohn, Dortmund, Hagen
85 Beiträge
 
Delphi 2006 Professional
 
#10

Re: DOC Datei zu RTF Datei umwandeln

  Alt 7. Aug 2007, 20:58
Ja aber ich hätte in der Zeit die möglichkeit ein anderen Process die Resourcen zu zu teilen.
Wenn ich z.B. ein Dualcore habe der kann doch 2 threads gleichzeitig ausführen/abarbeiten.
Oder ein Prozess für kurze Zeit in den Hintergrund legen.
Eins von beiden muss ich irgentwie hinbekommen.

Kann mir da einer weiterhelfen ?
if(copy_paste==false)
Programmierer=Hilflos;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 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