Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Word Dokument fernsteuern, Tutorial? (https://www.delphipraxis.net/40130-word-dokument-fernsteuern-tutorial.html)

JPSelter 4. Mär 2005 11:10

Re: Word Dokument fernsteuern, Tutorial?
 
Da bin ich malwieder!
Diesmal frage ich mich, wie ich eine Tabellenzelle auf "Blocksatz" stellen kann. Laut Makro müsste so ähnlich aussehen:
Delphi-Quellcode:
WordApp.Selection.ParagraphFormat.Alignment:='wdAlignParagraphJustify';
Aber das klappt so nicht. Falls es über WordApp.Selection geht, wie bekomme ich dann den Cursur in diese Zelle?

toms 6. Mär 2005 08:29

Re: Word Dokument fernsteuern, Tutorial?
 
Neue Frage, neuer Thread!

Ykcim 11. Jun 2007 22:05

Re: Word Dokument fernsteuern, Tutorial?
 
Hallo Zusammen,

ich hoffe, mir kann jemand helfen: Ich habe wie beschrieben versucht, die Daten aus einem StringGrid in eine WordTabelle zu exportieren. Auf den ersten Blick scheint es auch zu funktionieren - Word wird gestartet, eine Tabelle wird erstellt und die Spaltenüberschriften eingetragen. Und dann bricht das Programm ab mit dem Hinweis "Das angeforderte Element ist nicht in der Sammlung enthalten." Zugegeben, ich bin nur ein kleiner HobbyBastler, aber vielleicht ist es für Euch ein Klacks und Ihr könnte mir weiterhelfen, obwohl dieser Thread schon so alt ist.

Ich habe die Prozedure unten noch einmal angehängt...

Delphi-Quellcode:
uses ComObj;

...

procedure TProjekt_verlauf.Button1Click(Sender: TObject);
var
  WordApp,NewDoc,WordTable: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:=StringGrid.ColCount;
  iRows:=StringGrid.RowCount;

  // Tabelle einfügen
  WordTable:=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
  WordTable.Cell( iGridRows,jGridCols).Range.Text:=
  StringGrid.Cells[jGridCols-1,iGridRows-1];

  WordApp:=Unassigned;
  NewDoc:=Unassigned;
  WordTable:=Unassigned;
end;
Vielen Dank im Voraus.

Mike07 10. Apr 2008 15:02

Re: Word Dokument fernsteuern, Tutorial?
 
@JPSelter:
Die Frage hatte ich mir auch schonmal gestellt,
die Lösung ist die Methode "ParagraphFormat" auf Range (und .Range auf .Cell) zu beziehen!
Bei mir sieht das dann folgendermaßen aus:

T1.Cell(i, j).Range.ParagraphFormat.Alignment := wdAlignParagraphRight;

T1 ist meine Tabelle,
mit for-Schleifen kann man jetzt alle notwendigen Zellen ansprechen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Seite 2 von 2     12   

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