Breite von Tabellen-Spalten ändern in TextDynamic

  • Hallo Julian,

    ich füge mit oMemo.TextCursor.InputTable 0, "_EP" eine Tabelle an der aktuellen Cursorposition ein.

    Wie kann ich nun die Breite einzelner Spalten setzten bzw. ändern ????

    Mit oMemo.TextCursor.InputCell "Medikament", "epHeader" füge ich einzelne Spalten hinzu.

    Helmut

    • Offizieller Beitrag

    Hallo!

    >>Ich würde gerne die Breite einzelner Spalten nicht mit festen Werten, sondern mit Prozent-Werten setzten. <<

    Der callback "OnCreateNewCell" ist die vielseitigste möglichkeit in einer neuen Zelle eigenschaften zu setzen und objekte oder text einzufügen.


    Dort kann man auch die Breite einstellen.

    Die breite ist entweder fest als twips wert oder ein prozent wert * 100

    In beiden fällen nimmt man

    CellText.ParASet( code, wert)

    Der code ist entweder
    WPAT_ColWidth oder WPAT_ColWidth_PC fuer %

    Wenn man den callback nicht verwenden kann oder will ist es stattdessen möglich, der cursor seteht ja in der ersten neuen zelle, mittels der properties TextCursor.CPTableColNr und TextCursor.CPTableRowNr die einzelnen zellen anzufahren und zu ändern. Mittels TextCursor.SetColWidth kann man die breite der aktuellen spalte (also aller zellen) ändern.


    Mit InputParagraph(2, "") kommt man am ende aus der tabelle wieder raus.

    Beste Grüsse,

    Julian Ziersch

  • Hallo Julian,

    Danke für die Antwort.

    Aber folgender Code funktioniert nicht.

    oMemo.TextCursor.InputTable 0, "_EP"
    ' Create Header
    oMemo.TextCursor.InputRowStart 1

    oMemo.TextCursor.InputCell "Medikament", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 40, True
    oMemo.TextCursor.InputCell "morgens", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 10, True
    oMemo.TextCursor.InputCell "mittags", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 10, True
    oMemo.TextCursor.InputCell "abends", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 10, True
    oMemo.TextCursor.InputCell "nachts", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 10, True
    oMemo.TextCursor.InputCell "Besonderheiten", "epHeader"
    oMemo.TextCursor.SetColWidth 0, 20, True

    oMemo.TextCursor.InputRowEnd
    oMemo.Reformat

    Die Zahl wird nicht als Prozent-Wert gewertet, sondern als TWIPS

    Gruss

    Helmut