AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi -> MSWord, Tabelle zentrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi -> MSWord, Tabelle zentrieren

Ein Thema von pumpe · begonnen am 30. Mär 2006 · letzter Beitrag vom 31. Mär 2006
 
pumpe

Registriert seit: 30. Mär 2006
Ort: Neubrandenburg
8 Beiträge
 
#1

Delphi -> MSWord, Tabelle zentrieren

  Alt 30. Mär 2006, 11:56
Moin,

wollte mich mal vorstellen. Ich bin der Neue, ich komm jetzt öfter!

So nun zu meinem Problem. Ich möchte die Daten aus einer DBGrid in eine Word Tabelle übertragen. Soweit funktioniert das ja aber nun ist die Tabelle nicht in der Mitte des Wordokument´s und ich krieg es nicht hin. Ich habe schon gesucht aber ich finde nur wie man den Text in der Tabelle zentriert und nicht die Tabelle selber!

Hier mal der Code, meine Zentrierversuche hab ich mal raus genommem.

Delphi-Quellcode:
  
if radiogroup1.ItemIndex = 0 then
  begin
    ProgressBar1.Position:= 1;
    screen.Cursor := crHourglass;
    try
      // Word Instanz erzeugen
      WordApp:= CreateOleObject('Word.Application');
      ProgressBar1.Position:= 2;
    except
      // Fehler....
      ShowMessage('Word kann nicht gestartet werden');
      Exit;
    end;

    // Spalten, Reihen ermitteln
    iCols := StringGrid1.ColCount;
    iRows := StringGrid1.RowCount;

    ProgressBar1.Position:= 3;

    // Neues Dokument einfügen
    NewDoc := WordApp.Documents.Add ;

    S:= WordApplication1.Selection;
    S.TypeText('Überschrift');
    S.TypeParagraph;
    S.TypeParagraph;
    S.TypeParagraph;
    S.TypeParagraph;


    // Tabelle einfügen
    WordTable:= NewDoc.Tables.Add(WordApp.Selection.Range, iRows, iCols);

    WordTable.Borders.OutsideLineStyle:= wdLineStyleSingle;
    WordTable.Borders.InsideLineStyle:= wdLineStyleSingle;
    ProgressBar1.Position:= 4;

    WordTable.Columns.Item(1).SetWidth(50, 0);
    WordTable.Columns.Item(2).SetWidth(50, 0);
    WordTable.Columns.Item(3).SetWidth(65, 0);
    WordTable.Columns.Item(4).SetWidth(120, 0);
    WordTable.Columns.Item(5).SetWidth(60, 0);
    WordTable.Columns.Item(6).SetWidth(200, 0);

    begin
      ProgressBar1.Max:= iRows;

      // Tabelle ausfüllen mit Daten von Stringgrid
      for iGridRows := 1 to iRows do
      begin
          ProgressBar1.Position:= 6+iGridRows;
        for jGridCols := 1 to iCols do
        begin
          WordTable.Cell(iGridRows, jGridCols).Range.Text:= StringGrid1.Cells[jGridCols - 1, iGridRows - 1];
        end;
      end;
    end;

    // Word anzeigen
    WordApp.Visible:= true;

    ProgressBar1.Position:= 0;

    // Cleanup...
    WordApp := Unassigned;
    NewDoc := Unassigned;
    WordTable := Unassigned;
  end
  else
Danke schonmal für Eure Antworten.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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 by Thomas Breitkreuz