[Delphi] Word document aanmaken

Pagina: 1
Acties:

  • Da_Jackal
  • Registratie: Juni 2000
  • Laatst online: 07-08 17:15
Ik moet een hoop info (zowel text als plaatjes) vanuit een database via een programma, gemaakt met Delphi5, in een Word2000 document zetten. Weet iemand hoe je dit moet doen?

Maw, heeft iemand ervaring met 't aanmaken van een Word(2000) document vanuit een programma met Delphi??

Verwijderd

"Unlike popular belief, the .doc format is not an open publically available format."

Misschien dat je bij MS een specificatie van hun immer wijzigende .doc formaat kunt opvragen? >:) Ik geef je weinig kans dat dit je lukt...

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Ik heb 't m'n baas eens zien doen. Ik weet niet meer precies hoe & wat. Je had een hele lijst met extra componenten in Delphi, en daar kon je vanalles mee doen.

Het ging met allemaal van die gekke OLEVariant-variabelen enzo. Sorry dat ik me niet meer weet te herinneren, maar misschien kom je zo toch verder samen met google.

/edit: Check http://homepages.borland.com/ccalvert/TechPapers/Delphi/DelphiWord.htm

(eerste link uit google: "delphi word" beetje sneu hoor...) :z

Veel plezier ermee verder.

Siditamentis astuentis pactum.


  • Da_Jackal
  • Registratie: Juni 2000
  • Laatst online: 07-08 17:15
Da's een leuke lap tekst, wat bij deze http://homepages.borland.com/ccalvert/TechPapers/Delphi/DelphiWord.htm link staat, maar ik heb eens op torry.net gekeken. Daar staan allerlei componentjes om dmv een soort QuickReport een word-document aan te maken. De meeste zijn niet volledig & vragen een flinke som geld.

Helaas hebben ze hier op de stage geen zin in 't aankopen van Delphi-componentjes, dus weet iemand een gratis componentje te krijgen die 't doet?

Voorwaarden:
Output in Word2000 formaat (mag, denk ik ook Word95/97 zijn).
Textvelden in het bestand.
Memovelden in het bestand.
Plaatjes in het bestand.

Verdere voorwaarden zou ik niet zo 1-2-3 weten.

  • dEUSdude
  • Registratie: Juni 2002
  • Niet online
een stukkie code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses ComObj;

private
    wrdApp: Variant;

procedure TForm1.WordBtnClick(Sender: TObject);
 const
  wdDoNotSaveChanges = 0;
begin
   // Create an instance of Word and make it invisible
   wrdApp := CreateOleObject('Word.Application');
   wrdApp.Visible := false;

  // Open document
   wrdapp.Documents.Open(filename, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                 EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

   //Goto bookmarks
   wrdApp.ActiveDocument.Bookmarks.Item('Datum').Select;
   wrdApp.Selection.Font.Name := 'Arial';
   wrdApp.Selection.Font.Size := 14;
   wrdApp.Selection.TypeText(DatumEdit.Text);

   //Save document under new name and close Word
   wrdApp.ActiveDocument.SaveAs(SaveDialog.Filename);
   wrdApp.ActiveDocument.Close(true);
   wrdApp.Quit(wdDoNotSaveChanges);
end;

veel plezier ermee,

greetz

dEUSdude