![]() |
WordTable.Columns Text zentrieren
Hallo liebes Forum,
ich erzeuge mittels Code eine Tabelle in einem Worddokument.
Delphi-Quellcode:
Wie kann ich nur bei
WordTable.Columns.Item(1).SetWidth(40, 0);
WordTable.Columns.Item(2).SetWidth(420, 0);
Delphi-Quellcode:
den Text zentrieren, bei meinen Versuchen wird immer alles zentriert?
WordTable.Columns.Item(1)
Freundliche Grüße Aaron |
Re: WordTable.Columns Text zentrieren
Lade doch mal deine Tabelle (manuell !) in Word und starte dann eine Macroaufzeichnung.
Dann eine bestimmte Spalte zentrieren und Marcoaufzeichnung beenden. Wenn du das erzeugte Macro bearbeitest, hast du den VB-Code vor dir. Dieser lässt sich meist mehr oder weniger direkt in Delphi umsetzen. |
Re: WordTable.Columns Text zentrieren
Stimmt, jetzt muss ich nur noch die Zeilen zählen (die Tabellen werden aus einem Stringgrid übertragen)
Delphi-Quellcode:
Die Makros sind ja coool.
Selection.MoveDown Unit:=wdLine, Count:=5, Extend:=wdExtend
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter Viele Grüße Aaron |
Re: WordTable.Columns Text zentrieren
Hallo,
das kann nicht funktionieren, es gibt Probleme mit Unit:=wdLine wegen dem reservierten Wort "Unit" in Delphi:
Delphi-Quellcode:
Freundliche Grüße
WordTable.Selection.MoveDown Unit:=wdLine, Count:=iZeilen, Extend:=wdExtend
WordTable.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter Aaron |
Re: WordTable.Columns Text zentrieren
Hallo
zeig mal bitte mehr code, insbeosndere, wie du dich mit Word verbindest. Gruß Frank |
Re: WordTable.Columns Text zentrieren
Hallo, gerne :-)
Delphi-Quellcode:
Reicht das als Code?
try
Wordapp := GetActiveOleObject('Word.Application'); except ShowMessage('"Microsoft Word" ist noch nicht gestartet, öffne bitte zuerst ein Dokument!'); Exit; end; wordversion := Wordapp.version; NewDoc := WordApp.ActiveDocument.Content; S := WordApp.Selection; s.Font.Name:='Arial'; s.Font.Size :=10; WordTable := NewDoc.Tables.Add... Viele Grüße Aaron |
Re: WordTable.Columns Text zentrieren
Hallo
geht doch recht einfach: Makrovariante, du mußt dich in der 1. Zelle befinden
Delphi-Quellcode:
//1. spalte zentriert
WordApp.Selection.movedown(wdline,4,wdextend); WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter; //nächste Spalte WordApp.Selection.moveright(wdcharacter,1); //2.Spalte rechtbündig WordApp.Selection.movedown(wdline,4,wdextend); WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight; WordApp.Selection.moveright(wdcharacter,1); Besser wird es aber sein, die spalte direkt zu selektieren:
Delphi-Quellcode:
Statt WordApp.activedocument.Tables.item(1) kannst du ja deine Rückgabe beim add verwenden, kannst dir ja unter Umständen nicht sicher sein, daß deine Tabelle auch die 1. ist.
WordApp.activedocument.Tables.item(1).Columns.item(3).Select;
WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight; WordApp.activedocument.Tables.item(1).Columns.item(4).Select; WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter; Gruß Frank |
Re: WordTable.Columns Text zentrieren
Zitat:
Zitat:
Zitat:
Vielen Dank für deine Hilfe Freundliche Grüße Aaron |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 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