![]() |
Spaltenbreite in Word-Tabelle einstellen
Hallo zusammen,
es ist zum verzweifeln, ich versuche schon mehrere Stunden die Spaltenbreiten einer in Word eingefügten Tabelle zu ändern. Ich habe einige Lösungsansätze gefunden, erhalte bei der Ausführung jedoch immer eine Fehlermeldung. Ein Beispiel dass ich auch hier im Forum gefunden habe ist wie folgt: WordDoc.Tables.Item(1).Columns.Item(1).SetWidth(20 ,0); Hier erhalte ich die Fehlermeldung: Die Methode Item wird vom Automatisierungsobjekt nicht unterstützt! WordDoc ist vom Typ OleVariant und hat folgende Zuweisung: WordApp := CreateOleObject('Word.Application'); WordDoc := WordApp.ActiveDocument; Hat jemand eine Idee wo der Fehler liegt? Ich komme da nicht weiter :wall: OK - ist schon spät - der Fehler kommt von einer anderen Stelle im Code - mal sehen ob dann die Spaltenbreiten funktionieren - Zeit fürs Bett ;-) Gruß Sidi61 |
AW: Spaltenbreite in Word-Tabelle einstellen
Hallo zusammen,
der Fehler lag tatsächlich in einem anderen Abschnitt des Codes, ist aber auch ein wenig knifflig da die IDE hier wenig Unterstützung bietet. Also ich kann jetzt eine Tabelle einfügen und auch die Spaltenbreiten einstellen wobei ich hier mit Prozentangaben arbeite da ich die Funktion MillimetersToPoint nicht verwenden konnte - kennt er nicht - ist vielleicht besser so da ich damit gleichzeitig eine Scalierung geschaffen habe.
Delphi-Quellcode:
Nun habe ich jedoch ein anderes Problem - es gibt ja die Möglichkeit an eine vorhandene Tabelle eine Tabellenzeile anzuhängen. Ich mache das wie folgt:
b := Round(BSeite / 100 * b); //prozentuale Breitenangabe in Punkte umrechnen
WordDoc.Tables.Item(1).Columns.Item(I).SetWidth(b,0);
Delphi-Quellcode:
WordDoc.Tables.Item(1).rows.Add(emptyparam);
Seltsamer Weise hängt er beim ersten Aufruf 2 Tabellenzeilen an und bei jedem Weiteren nur eine :roll: Hat jemand eine Idee woran das liegen mag?? Gruß Sidi61 |
AW: Spaltenbreite in Word-Tabelle einstellen
Mach bitte für ein neues Problem auch einen neuen Thread auf. Das hat ja nichts mehr mit der Breite von Tabellenspalten zu tun.
|
AW: Spaltenbreite in Word-Tabelle einstellen
Zitat:
erst mal schöne Pfingsten. :-D Gibt es denn nirgends ein Tutorial, wo man ein bischen Word VBA und oder Word VB mit Delphi erlernen kann? Was ich so im Netz bisher gefunden habe ist zwar schon brauchbar, aber sehr zeitaufwendig. Ich weiß, ich mag es mal wieder bequem, habe aber wirklich nur noch wenig Zeit für meine Hobbys. Leider gibt es nirgends ein so gutes Forum wie das Hiesige für VB und Delphi. |
AW: Spaltenbreite in Word-Tabelle einstellen
Zitat:
|
AW: Spaltenbreite in Word-Tabelle einstellen
Zitat:
Ich hab da mal was gebastelt:
Code:
Bis auf die beiden .Rows.Add kommt das aus dem Macrorecorder. Da Add als Parameter "BeforeRow" erwartet, kann es durchaus sein, daß "emptyParam" und ein nicht vorhandener Parameter unterschiedliche Ergebnisse erzeugt.
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _ wdAutoFitFixed With Selection.Tables(1) If .Style <> "Tabellenraster" Then .Style = "Tabellenraster" End If .ApplyStyleHeadingRows = True .ApplyStyleLastRow = False .ApplyStyleFirstColumn = True .ApplyStyleLastColumn = False .ApplyStyleRowBands = True .ApplyStyleColumnBands = False .Rows.Add .Rows.Add End With Zitat:
K-H P.S. VBA 7.1 / Word365 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 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