![]() |
Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Hallo möchte in Delphi eine test.rtf dokument durch Word öffnen dann soll die standart konvertierung gewählt werden und dieses als test.doc gespeichert werden.
Das Ganze soll passieren wenn man ein Button konvert drückt. Welche Datei geöffnet werden soll steht in ein Editfeld und wo hin sie gespeichert werden soll auch. Bis jetzt hab ich das raus bekommen:(nicht viel)
Delphi-Quellcode:
Ich danke schonmal im vorraus für jede Hilfe
procedure TForm1.Button1Click(Sender: TObject);
var v:OleVariant; Result:String; begin v:=CreateOleObject('word.application'); try Result:=v.Options.DefaultFilePath[8]; finally v.Quit; Application.MessageBox(PChar(Result), 'MessageBox', MB_ICONWARNING or MB_OK); end; end; end. Robert |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Für so Sachen geh ich immer hin: Starte Word, starte eine Makroaufzeichnung und führe deine Operationen aus, spriche RTF laden und wieder als DOC abspeichern. Dann kuckst Du dir den VBA Code an und übersetzt das nach Delphi.
|
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Super Idee auch für die Zukunft danke:
Hab das mal gemacht und sowas rausbekommen:
Delphi-Quellcode:
ich denke man kann vieles weglassen und daraus ist dann das geworden:
Sub Makro1()
' ' Makro1 Makro ' Makro aufgezeichnet am 17.08.2006 von Robert Slowikowski ' ChangeFileOpenDirectory "C:\" Documents.Open FileName:="test.rtf", ConfirmConversions:=False, ReadOnly:= _ False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _ "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _ Format:=wdOpenFormatAuto ActiveDocument.SaveAs FileName:="test.doc", FileFormat:=wdFormatText, _ LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _ :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _ SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _ False End Sub
Delphi-Quellcode:
Meine Frage nun ... wie geht es weiter ?
Sub Makro1()
' ' Makro1 Makro ' Makro aufgezeichnet am 17.08.2006 von Robert Slowikowski ' Documents.Open FileName:="c:\test.rtf", ConfirmConversions:=False, Format:=wdOpenFormatAuto ActiveDocument.SaveAs FileName:="c:\test.doc", FileFormat:=wdFormatText, AddToRecentFiles:=True End Sub |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Zitat:
Folgender Delphi Code sollte dann den VBA übersetzen:
Delphi-Quellcode:
uses word_tlb, comobj ;
procedure LoadAndSave ; var V : variant ; begin V := GetActiveOleObject('Word.Application'); V.Documents.open (FileName:='c:\test.rtf', ConfirmConversions:=False, Format:=wdOpenFormatAuto) ; V.ActiveDocument.SaveAs (FileName:='c:\test.doc', FileFormat:=wdFormatText, AddToRecentFiles:=True) ; end ; |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Das mit den Importieren gestalltet sich schwer ;(
Ich hab nur die Microsoft Word 9.0 Object Libarty(Version 8.1) zu importieren. Wenn ich dann auf Weiter klicke kommt eine Fehlermeldung Zitat:
|
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Zitat:
Existiert das obige Verzeichnis? |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
nein:
Unter c:\Programme\delphi10lite\ existieren nur: Bin HelpD7 lib License Obirepos QualityCentral Schemas source Sollte ich etwas den Ordner mal anlegen ? |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Zitat:
BTW. Was ist Delphi 10 lite? |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
Hehe manche dinge sind soch so einfach ;)
Es hat nun geklappt :) Danke vielmals. Jelly und mkinzler Meine Delphi Version ist: Borland® Delphi® for Microsoft® Windows™ Version 10.0.2166.28377 Update 1 Copyright © 2005 Borland® Software Corporation. All Rights Reserved. Arbeite an Der Fern-Uni-Hagen als Softwareentwickler mit Delphi. Kann sein das ich deswegen etwas neuere Software besitze. Ich finde es auf jedenfall besser als mein altes Delphi 7 was ich vorher hatte. Ok danke nochmal für die Hilfe |
Re: Mit Word eine *.rtf öffnen und abspeichern unter *.doc
verda..t hab eigentlich nichts geändert nur das es auch wieder geschlossen werden soll und es kommt nun:
Project rtfzudoc.exe raised exection class EOleSysError with message' Vorgang nicht verfügbar' Dan kann ich Break , continue und help drücken. Egal was ich davon drücke mein Delphi und die Exe stürtzt ab ;( Woran kann das liegen ?
Delphi-Quellcode:
unit rtfzudoc; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, word_tlb; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var V:OleVariant; Result:String; begin V := GetActiveOleObject('Word.Application'); V.Documents.open (FileName:='c:\test.rtf', ConfirmConversions:=False, Format:=wdOpenFormatAuto) ; V.ActiveDocument.SaveAs (FileName:='c:\test2.doc', FileFormat:=wdFormatText, AddToRecentFiles:=True) ; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz