![]() |
Tabellenhöhe einer in Word eingefügten Tabelle
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Ich füge die Zeilen eines Stringgrids in ein Worddokument ein. Die Rows werden aber in der Höhe viel zu groß. (schaut euch mal den Screenshot an) Ich habe versucht die Höhe zu bestimmen, was auch funktioniert. Aber, bei mehrzeiligen Text in der Tabelle wird der Rest einfach abgeschnitten So habe ich die Höhe bestimmt:
Delphi-Quellcode:
Wie kann ich die Höhe anpassen ohne das Text abgeschnitten wird?
// wdRowHeightAuto = 0;
// wdRowHeightAtLeast = 1; // wdRowHeightExactly = 2; WordTable.Rows.SetHeight(15,2); Grüße Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Berechnen, wie viwl Zeilen der Text belegt und diese dann mit der Höhe pro Zeile multiplizieren.
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo,
was ist wenn es mehr als 50 Variationen gibt? Die zweite hat 420px
Delphi-Quellcode:
Wie kann ich das über das Stringgrid ausrechnen?
WordTable.Columns.Item(2).SetWidth(420,0);
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Was passiert denn, wenn du wdRowHeightAuto setzt?
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Das bringt keine Änderung
Delphi-Quellcode:
WordTable.Rows.SetHeight(0,wdRowHeightAuto );
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo,
hat jemand noch eine Idee? Ich habe nun alles durchprobiert. Außer das Zitat:
Ich wäre über ein Beispiel äußerst happy. Freundliche Grüße Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Du kannst aber anhand der länge des Strings errechnen wie viele Zeilen es ergibt.
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo,
ich muss also per Schleife das Stringgrid durcharbeiten. Ist die Länge des Strings in einer Zeile länger als X dann füg einen Umbruch ein bis Zeile abgearbeitet wurde. Dann wieder in die nächste Zeiel springen. Richtig? Wie überträgt einen Zeilenumbruch? so?
Delphi-Quellcode:
Gruß
#13 + #10
Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Besser mit der Konstante sLineBreak. Aber eigentlich ist das ja nicht nötig. Du könntest so aber entscheiden wieviel Zeilen die Tabelle in Word belegt
Delphi-Quellcode:
Zeilenanzahl := <Länge> DIV <Zeichen pro Zeile>;
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo mkinzler,
Zitat:
82 zeichen darf eine Zeile lang sein. Gruß Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Du übertägst ja Strings vom Grid nach Word. Angenommen ein Text ist 145 Zeichen lang und Word stellt 80 zeichen dar, bevor es umbricht dann ergibt 145 Div 80 = 1 dazu zählst du dann 1 (hab ich oben übersehen)
|
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Danke
Wo muss ich die Abfrage (wenn ich die mal zusammen habe) einbauen? Gruß Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo,
ich habs nun so gemacht, was aber leider nicht funktioniert:
Delphi-Quellcode:
Sieht jemand meinen Fehler?
//WordTable.Rows.SetHeight(15,2);;
WordTable.Columns.Item(1).SetWidth(40, 0); WordTable.Columns.Item(2).SetWidth(420, 0); begin ProgressBar1.Max := iRows; for iGridRows := 1 to iRows do begin ProgressBar1.Position := 6 + iGridRows; for jGridCols := 1 to iCols do begin s1 := StringGrid2.Cells[1, igridRows - 1]; // showmessage(s1); if Length(s1) < 81 then begin WordTable.Rows.SetHeight(15, 2); end else if (Length(s1) > 82) and (Length(s1) < 164) then begin WordTable.Rows.SetHeight(30, 2); end; WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid2.Cells[jGridCols - 1, igridRows - 1]; //+ sLineBreak+ sLineBreak end; end; ProgressBar1.Position := 0; [Edit] ich habe auch über
Delphi-Quellcode:
das als Schleife ausprobiert dann gibt es auch nur Fehler.
WordTable.Columns.Item(1).SetWidth(40, 0);
WordTable.Columns.Item(2).SetWidth(420, 0); Gruß Aaron |
Re: Tabellenhöhe einer in Word eingefügten Tabelle
Hallo,
ich nochmal. Ich habe das gerade mit Word2000 getestet, dort wird alles in der richtigen Höhe angezeigt. Nur in Word2007 wird die Zeilenhöhe nicht richtig angezeigt. Wenn ich nun aber in Word2007 auf den Reiter "Entwurf" klicke und dort auf irgendein Tabellengitternetz dann stimmen die Höhehn auch wieder. Seltsam. Aaron |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 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