![]() |
Word Dokument fernsteuern, Tutorial?
Ich habe ein Programm, das Besprechungs-Protokolle verwalten soll. Zum Ausdrucken eines Protokolls wollte ich die Daten an ein Word-Dokument übergeben, damit der Benutzer selbst noch kleinere Änderungen vornehmen kann, bevor gedruckt wird. Aber wie kann ich die Daten in ein Word-Dok übertragen? Ich habe sowas noch nie gemacht. Bisher habe ich erfolgreich die Befehle WordDocument1.Connect usw. angewandt, aber wie fülle ich das Dok mit Inhalt? Gibts sowas wie WordDocument1.AddTable und .AddText(kursiv,größe20) oder sowas ähnliches? Insgesamt brauche ich jede Menge Tabellen, eine davon beinhaltet eine Grafik.
|
Re: Word Dokument fernsteuern, Tutorial?
Vielleicht hilft dier der
![]() |
Re: Word Dokument fernsteuern, Tutorial?
Den Link hatte ich eben schon gefunden, aber da steht nicht viel drin. Ich bräuchte etwas umfangreicherers, z.B. eine komplette Dokumentation über dieses WordApplication.
|
Re: Word Dokument fernsteuern, Tutorial?
Die Hilfe zu TWordApplicaton etc ist in Word enthalten. Es ist die VBA-Hilfe zu Word.
Oeffne "Extras : Makros : Visual Basic Editor" dort "Ansicht : Objekt-Katalog" oeffnen bzw F2 druecken. Das ist der COM-Objektbaum von Word. F1 liefert spezifische Hilfe. |
Re: Word Dokument fernsteuern, Tutorial?
OK, ich schau da mal rein. Ich habe jetzte "Hello World!" im Dokument stehen :D Aber nun möchte ich eine Tabelle erschaffen. Da läuft mir der Datentyp "Range" über den Weg, mit dem ich nichts anfangen kann. Hat jemand ein Beispiel, wie sowas aussieht? -> WordApplication1.Selection.Tables.Add(*range-datentyp*,2,2);
|
Re: Word Dokument fernsteuern, Tutorial?
Hi,
Habe hier einen Code, um ein TStringGrid in ein Worddokument zu exportieren. (Hab's ohne die Server Komponente gemacht) Vielleicht hilf's dir ja ein wenig weiter.
Delphi-Quellcode:
uses
ComObj; procedure TForm1.Button1Click(Sender: TObject); var WordApp, NewDoc, tabelle: OLEVariant; iRows, iCols, iGridRows, jGridCols: Integer; begin try // Word Instanz erzeugen WordApp := CreateOleObject('Word.Application'); except // Fehler.... Exit; end; // Word anzeigen WordApp.Visible := True; // Neues Dok einfügen NewDoc := WordApp.Documents.Add; // Spalten, Reihen ermitteln iCols := StringGrid1.ColCount; iRows := StringGrid1.RowCount; // Tabelle einfügen tabelle := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows); // Tabelle ausfüllen mit Stringgrid Daten for iGridRows := 1 to iRows do for jGridCols := 1 to iCols do tabelle.Cell(iGridRows, jGridCols).Range.Text := StringGrid1.Cells[jGridCols - 1, iGridRows - 1]; // Hier evtl Word beenden... // Cleanup... WordApp := Unassigned; NewDoc := Unassigned; tabelle := Unassigned; end; |
Re: Word Dokument fernsteuern, Tutorial?
Danke, das hilft mir sehr weiter :)
Trotzdem noch eine kleine Frage, vielleicht weiss es ja eben jemand: Wie kann ich die Tabellen-Grenzen grau machen, also so, dass sie nicht gedruckt werden? |
Re: Word Dokument fernsteuern, Tutorial?
Zitat:
Kannst aber mal das probieren:
Delphi-Quellcode:
const
{ wdLineStyleSingle = 1;} wdLineStyleNone = 0; begin //... tabelle := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows); //... tabelle.Borders.OutsideLineStyle := wdLineStyleNone ; tabelle.Borders.InsideLineStyle := wdLineStyleNone ; //... |
Re: Word Dokument fernsteuern, Tutorial?
for i := 1 to 100000000 do
showmessage('Danke!'); :) |
Re: Word Dokument fernsteuern, Tutorial?
Der zweite Trick ist es ein Word-Makro aufzuzeichnen und sich dann die Source im Makro-Editor anzuschauen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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