![]() |
WORD: Tabellenspaltenbreite automatisch setzen...
Hi
bitte nicht peitschen :oops: . Ja, ich muss eine DB-Doku in Word schreiben. Es handelt sich nur um 100 Tabellen, die ich einzeln formatieren muss. Ich will aber auch, das die Spalten der Tabellen jeweils gleich breit sind. Die 1.Spalte aller Tabellen soll z.B. immer 2 cm breit sein, die 2.Spalte immer 2,5 cm, und die 3.Spalte immer 8 cm. Wie mach ich das? Ob ich das mit Delphi per OLE mache, oder als Word-VBA-Script, ist mir egal, aber wie kann ich mir die sch**** Arbeit ersparen? Und sag mir keiner: Nimm doch LaTeX (denn damit wäre das ja kein Problem). Danke und schönen Vatertag :cheers: |
Re: WORD: Tabellenspaltenbreite automatisch setzen...
Hallo,
ungetestet etwa in dieser Art:
Delphi-Quellcode:
uses
ComObj; procedure TForm1.Button1Click(Sender: TObject); const FILE_WORD_DOC = 'C:\TestDoc.doc'; wdDoNotSaveChanges = 0; var MSWord, Table, SaveChanges: OLEVariant; begin try MSWord := CreateOleObject('Word.Application'); except // Error.... Exit; end; // Word anzeigen try MSWord.Visible := True; MSWord.Documents.Open(FILE_WORD_DOC); // 1 Tabelle auswählen... Table := MSWord.ActiveDocument.Tables.Item(1); try // Für Spalte 1 Breite setzen Table.Columns.Item(1).SetWidth(20, 0); // der 2. Param. kann laut VBA Help folgende Konstanten // einnehmen: { wdAdjustFirstColumn = 2 wdAdjustNone = 0 wdAdjustProportional = 1 wdAdjustSameWidth = 3 } except end; //.. finally // MSWord.ActiveDocument.Close(wdDoNotSaveChanges); // MSWord.Quit; MSWord := nil; Table := nil; end; end; |
Re: WORD: Tabellenspaltenbreite automatisch setzen...
Super! Danke!
Die Einheit bei 'SetWidth' ist zwar etwas komisch (mm*2,7), aber was solls. Jetzt kann ich den Rest des Tages mit meinen Kindern verbringen! :dp: und toms auch! |
Re: WORD: Tabellenspaltenbreite automatisch setzen...
Hallo, Word will da immer "Punkt"-Angaben. Zum Umrechnen kannst du z.B. (MSword).CentimetersToPoints nutzen, liest sich besser und du kannst richtig cm angeben.
Mfg Frank |
Re: WORD: Tabellenspaltenbreite automatisch setzen...
Ah, dann ist der Faktor 2.83, weil 72pt pro inch und 25.4 mm pro inch.
Alles klar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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