Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .docx mit Office Xp Komponenten (https://www.delphipraxis.net/139718-docx-mit-office-xp-komponenten.html)

fishbrain 3. Sep 2009 23:43


.docx mit Office Xp Komponenten
 
Hey,

für meine Software brauche ich eine Funktion, die mir ein Worddokument in .docx speichert. Meine Frage:
Ist es möglich die Office Komponenten upzudaten oder gibt es eine andere Möglichkeit das zu erreichen.
(Office 2007 ist beim User in so einem Fall natürlich installiert)

Ich hoffe ihr könnt mir helfen

MFG

fishbrain

Bernhard Geyer 4. Sep 2009 07:37

Re: .docx mit Office Xp Komponenten
 
Docx kannst du auch mit den Word2000/97-Wrappern speichern. Du mußt nur herausfinden wie die neue Formatkonstante für das DOCX-Format definiert und sie beim SaveAs-Aufruf verwenden.

fishbrain 4. Sep 2009 13:05

Re: .docx mit Office Xp Komponenten
 
Und wie finde ich das heraus?
Ich bin relaiv ratlos.

MFG

fishbrain

igel457 4. Sep 2009 13:13

Re: .docx mit Office Xp Komponenten
 
.docx ist eigentlich ein relativ einfaches Format: Eine umbenannte ZIP-Datei mit einzelnen XML-Dateien darin. Je nach Anwendungsfall solltest du die auch einfach selbst erstellen können.

mkinzler 4. Sep 2009 14:04

Re: .docx mit Office Xp Komponenten
 
Notfalls halt eine normale Worddatei erzeugn, diese kann ja auch von O2k7 geöffnet werden

RWarnecke 4. Sep 2009 14:42

Re: .docx mit Office Xp Komponenten
 
Oder einfach über ole ein Word öffnen und dann das Dokument damit speichern.

mkinzler 4. Sep 2009 14:50

Re: .docx mit Office Xp Komponenten
 
Was anderes machen die genannten kompos doch auch nicht, und so scheint es nicht zu klappen. die COM/OLE-Schnittstelle von O2k7 scheint ja wirklich nicht abwärtskompatibel zu sein.

fishbrain 4. Sep 2009 14:52

Re: .docx mit Office Xp Komponenten
 
Laut dem Beitrag: http://www.tech-archive.net/Archive/.../msg00019.html
müsste es doch langen das FileFormat auf wdFormatDocument zu setzen oder?

Funktionieren tut das allerdings nicht.
Gibts denn keine andere Lösung als die XML-ZIP-Lösung?

MFG

fishbrain

mkinzler 4. Sep 2009 15:03

Re: .docx mit Office Xp Komponenten
 
http://openxmldeveloper.org/

Bernhard Geyer 4. Sep 2009 17:05

Re: .docx mit Office Xp Komponenten
 
Zitat:

Zitat von igel457
.docx ist eigentlich ein relativ einfaches Format

Klar doch. Und deshalb hat die Formatbeschreibung einige 1000 Seiten und strotzt nur so vor ungereimheiten.

Zitat:

Zitat von fishbrain
Und wie finde ich das heraus?

http://msdn.microsoft.com/en-us/library/bb238158.aspx

igel457 4. Sep 2009 17:31

Re: .docx mit Office Xp Komponenten
 
Einfach ist relativ - es sollte relativ einfach sein ein einfaches Dokument selbst zu erstellen - es ging ja nicht um das auslesen.

fishbrain 4. Sep 2009 18:41

Re: .docx mit Office Xp Komponenten
 
Aber es ist denk ich noch einfacher wdFormatDocumentDefault zu deklarieren.
Kanns grad leider nicht testen, bin mir aber relativ sicher dasses dann geht:
Word default document file format. For Microsoft Office Word 2007, this is the DOCX format.

Vielen Dank

MFG

fishbrain

RWarnecke 4. Sep 2009 22:11

Re: .docx mit Office Xp Komponenten
 
Dieses Beispiel öffnet Word, schreibt einen Text ruft den Speichern-Dialog auf und nach dem Speichern wird Word wieder geschlossen.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Btn_1: TButton;
    WordApp_1: TWordApplication;
    WordDoc_1: TWordDocument;
    procedure Btn_1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

{...}

procedure TForm1.Btn_1Click(Sender: TObject);
begin
  WordApp_1.Connect;
  WordApp_1.Visible := True;
  WordApp_1.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  WordDoc_1.ConnectTo(WordApp_1.ActiveDocument);
  WordApp_1.Selection.TypeText('Das ist ein Testdocument');
  WordDoc_1.Save;
  WordDoc_1.Disconnect;
  WordApp_1.Quit;
end;
Es ist ein docx-Dokument. Den SaveAs-Befehl überlasse ich jetzt Dir. Good Night !!

fishbrain 4. Sep 2009 22:23

Re: .docx mit Office Xp Komponenten
 
Delphi-Quellcode:
     fileformat := wdFormatDocumentDefault;
      sdoc.SaveAs(Filename,Fileformat,LockComments,Password,AddtoRecentFiles,writePassword,
        readonlyrecommended, embedtruetypefonts, savenativePictureformat, saveformsdata, saveasaoceletter,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
Getestet: funktioniert ;)

RWarnecke 5. Sep 2009 08:19

Re: .docx mit Office Xp Komponenten
 
Zitat:

Zitat von fishbrain
Delphi-Quellcode:
     fileformat := wdFormatDocumentDefault;
      sdoc.SaveAs(Filename,Fileformat,LockComments,Password,AddtoRecentFiles,writePassword,
        readonlyrecommended, embedtruetypefonts, savenativePictureformat, saveformsdata, saveasaoceletter,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
Getestet: funktioniert ;)

Ich würde Dich doch bitten, die anderen Parameter auch noch zu zeigen, wie Du Sie festgelegt hast.

fishbrain 5. Sep 2009 22:21

Re: .docx mit Office Xp Komponenten
 
Das ist in diesem Punkt doch völlig egal oder?
Aber nagut ;)

Delphi-Quellcode:
  FileName := fpath+edit1.Text+'_'+DateToStr(Datetimepicker1.Date)+'.docx';
  LockComments := False;
  Password := EmptyParam;
  AddToRecentFiles := True;
  WritePassword := EmptyParam;
  ReadOnlyRecommended := False;
  EmbedTrueTypeFonts :=False;
  SaveNativePictureFormat := False;
  SaveFormsData := False;
  SaveAsAOCELetter := False;
Der Rest einfach emptyParam.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 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