![]() |
Delphi - Text in Wordtabelle zentrieren
Hallo,
Ich möchte einen Text in der Wordtabelle zentrieren. Hier erst mal der Code
Delphi-Quellcode:
const wdStory = 6;
var wordTable: array[1..2] of OLEVariant; e: integer; begin try Word := CreateOleObject('Word.Application'); except Exit; end; Word.Visible := True; NewDoc := Word.Documents.Add; for e:=1 to 2 do begin WordTable[e]:=NewDoc.Tables.Add(Word.Selection.Range,2,2); WordTable[e].Cell(1,1).Range.Text :='aaa'; WordTable[e].Cell(1,2).Range.Text :='bbb'; WordTable[e].Cell(2,1).Range.Text :='ccc'; WordTable[e].Cell(2,2).Range.Text :='ddd'; wordTable[e].Borders.InsideLineStyle :=1; wordTable[e].Borders.outsideLineStyle :=1; Word.Selection.Endkey(wdStory); Word.Selection.TypeText(#13#10); end; end; Wie also kann der Text in den Zellen der Wordtabelle zentriert werden ? mfg Nimmersatt |
AW: Delphi - Text in Wordtabelle zentrieren
Vielleicht
Delphi-Quellcode:
mit Wert
ParagraphFormat.Alignment
Delphi-Quellcode:
? Weiß nich genau, oder
wdAlignParagraphCenter / wdAlignVerticalCenter
Delphi-Quellcode:
?
Cells.VerticalAlignment
Eine recht umfangreiche sammlung dazu findest du ![]() |
AW: Delphi - Text in Wordtabelle zentrieren
Das ging aber schnell.
Delphi-Quellcode:
Funktioniert !
WordTab[e].Cell(1,1).VerticalAlignment:=1;
Delphi-Quellcode:
Funktioniert nicht !
WordTab[e].Cell(1,1).HorizontalAlignment:=1;
|
AW: Delphi - Text in Wordtabelle zentrieren
Kann sich das jemand erklären, warum HorizontalAlignment im Gegensatz zu VerticalAlignment nicht funktioniert ?
|
AW: Delphi - Text in Wordtabelle zentrieren
Die frage ist wofür "1" steht. Left- Right Align Center.....
UU muß auch nicht das Alignment der Zelle sondern des Absatzes definiert werden. Ggf hilft da ein Blick in die Word-Hilfe, oder aber das Makro-Protokoll. Gruß K-H |
AW: Delphi - Text in Wordtabelle zentrieren
Zitat:
|
AW: Delphi - Text in Wordtabelle zentrieren
Es gibt die Eigenschaft HorizontalAlignment in Word Tables nicht. Hab gerade einfach mal in Word-VBA nachgeschaut!
Das ist mMn bei Office-Automation eh immer das sinnvollste. Mach das zunächst rudimentär und/oder mit dem Makro-Editor in dem Programm (Excel,Word,...) selber und dann übertrag das nach Delphi. |
AW: Delphi - Text in Wordtabelle zentrieren
Da ich nicht zu viel Zeit verschwenden will, habe ich die Notlösung genommen - am Anfang des Textes ein paar Leerzeichen eingefügt.
Vielen Dank an alle. mfg Nimmersatt |
AW: Delphi - Text in Wordtabelle zentrieren
Zitat:
Wenn Du jetzt noch alle Tabulatoren durch Leerzeichen ersetzt und 0 durch O bist Du auf dem Stand vor 40 Jahren. *kopfschüttelnd* K-H |
AW: Delphi - Text in Wordtabelle zentrieren
Hallo Nimmersatt,
hier etwas gegen die "Not" :-D
Delphi-Quellcode:
...
for e:=1 to 2 do begin WordTable[e]:=NewDoc.Tables.Add(Word.Selection.Range,2,2); WordTable[e].Cell(1,1).Range.Text :='aaa'; WordTable[e].Cell(1,2).Range.Text :='bbb'; WordTable[e].Cell(2,1).Range.Text :='ccc'; WordTable[e].Cell(3,2).Range.Text :='ddd'; //********************* // Vertikal zentrieren WordTable[e].Cell(1,1).VerticalAlignment:=1; // 1 = Mitte; 3 = Unten // Horizental zentrieren WordTable[e].Cell(1,1).Range.ParagraphFormat.Alignment:=1; //Damit man auch was sieht Zeilenhöhe ändern :-) WordTable[e].Rows.SetHeight(60,2); //********************* wordTable[e].Borders.InsideLineStyle :=1; wordTable[e].Borders.outsideLineStyle :=1; Word.Selection.Endkey(6); //wdStory = 6 Word.Selection.TypeText(#13#10); end; ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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-2025 by Thomas Breitkreuz