![]() |
Hilfe!!! - MS-Word-Dokument mit VCL (TEdit) ausfüllen
Ich brauche unbedingt Hilfe!
Ich habe mir eine VCL-Formularanwendung erstellt, die TEdit und TMemo beinhalten und möchte die Eingaben in ein Wordformular übertragen. ----------------------------------------------------------------------------------------------------------------------------------- Zur Verdeutlichung: Turbo Delphi: Form1 mit folgenden Komponenten: Edit1...Edit20 Memo1...Memo20 Button1 MS Word 2007: Im Dokument mit dem Mustertext: Gehaltsnachweis Hiermit wird >>TEdit1(aus Delphi)<< >>TEdit2(aus Delphi)<< bescheinigt für die Monate >>TMemo1(aus Delphi)<< ein Gehalt von >>TEdit3(aus Delphi)<< erhalten hat. Dieses Gehalt wurde auf das folgende Konto überwiesen: >>TMemo2(aus Delphi)<< ----------------------------------------------------------------------------------------------------------------------------------- Wenn also der Benutzer nun Eingaben in die Edits und Memos gemacht hat und auf den Button klickt, soll sich Word und das vorgestalltete Dokument öffenen. Anschließend Sollen die Eingaben in dem Word-Dokument in den bestimmten Positionen meines Texte erscheinen. Ich bin für jede Hilfe dankbar Gruß Dennis |
Re: Hilfe!!! - MS-Word-Dokument mit VCL (TEdit) ausfüllen
Hier dazu eine Lösung:
Vorgabe: Word-Dolument existiert mit entsprechenden Formularfelden (am besten als Dokumentvorlage)liegt im Ordner der Exe
Delphi-Quellcode:
(habe ich auf die Schnelle nicht ausprobiert, müsste aber laufen)type TForm1 = class(TForm) ... var MSWord: variant; implementation uses ComObj, Variants; ... procedure TForm1.Fill_WordDoc; var s: string; vParam, vParam2: olevariant; begin MSWord := CreateOleObject('Word.Application'); MSWord.Visible := True; MSWord.WindowState := wsMinimized; s := ExtractFilePath(Application.EXEName)+'Vorlage1.dot'; vParam := s; vParam2 := False; MSWord.Documents.Add(vParam, vParam2, EmptyParam, EmptyParam); MSWord.ActiveDocument.FormFields.Item('Text1').Result := Edit1.Text; MSWord.ActiveDocument.FormFields.Item('Text2').Result := DatetoStr(Date); //jetzt eine Check-Box im Dokument ausfüllen: if Bedingung = True then MSWord.ActiveDocument.FormFields.Item('Kontrollkästchen1').CheckBox.Value := true else MSWord.ActiveDocument.FormFields.Item('Kontrollkästchen1').CheckBox.Value := false; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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