Seite 1 von 1

Zellen verbinden mit jeweligem Format erhalt

Verfasst: Mi 22. Apr 2015, 19:04
von olliisit
Hallo zusammen .

Habe eine Tabelle wo in 3 Spalten jweils 1 Alphanumerisches Zeichen steht.
Die sind teilweise mit unter oder überstrich oder beidem.

Ich möchte pro zeile diese Spalten zusammenfügen.

Wie kriege ich das hin , daß die die Formatierung exact so bleibt ?.

Gesamtgröße :ca~ 15 000 Zeilen

Verketten: Geht nicht , weil nur für Text
Zelle verbinden über Menüfunktion: Geht nicht weil formatierung der 1 spalte übernommen wird

Gibt es eine Sonder oder Makro lösung ?.

Bilder zeigen mal Beispielhaft Ausgangs & Wunsch situation

Re: Zellen verbinden mit jeweligem Format erhalt

Verfasst: Do 23. Apr 2015, 10:04
von karolus
Hallo
Falls nur die Formatattribute Unterstreichung und Überstreichung benötigt werden geht folgendes:

Code: Alles auswählen

def concat_format_string(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sel = doc.CurrentSelection
    for r in range(sel.Rows.Count):
        writecell = sel.getCellByPosition(0,r)
        writecursor = writecell.createTextCursor()
        writecursor.gotoEnd(False)
        for c in range(1, sel.Columns.Count):
            readcell = sel.getCellByPosition(c,r)
            string = readcell.String
            writecursor.CharOverline = readcell.CharOverline
            writecursor.CharUnderline = readcell.CharUnderline
            writecursor.setString(string)
            writecursor.gotoEnd(False)
        sel.getCellRangeByPosition(0, r, c, r).merge(True)
 
Den gewünschten Bereich vorher markieren.
( Ja, das ist python !! )

Re: Zellen verbinden mit jeweligem Format erhalt

Verfasst: Do 23. Apr 2015, 10:32
von Rocko
nikki hat geschrieben:Calc kennt keine Zeichenformate (wie Writer), sondern nur Zellformate.
Wenn du statt "-formate" deine Aussage änderst in "-vorlagen" stimmt deine Aussage; denn du kannst einzelne Zeichen in einer Zelle durchaus händisch formatieren.

Doppelklick auf eine Zelle - Zeichenauswahl markieren - Kontextmenü "Zeichen"

Re: Zellen verbinden mit jeweligem Format erhalt

Verfasst: Do 23. Apr 2015, 11:46
von karolus
Ergänzend

Laufzeit des Codes oben bei 15000*3 (Zeilen|Spalten) ca. 20 Min

zusätzlich mit

Code: Alles auswählen

    doc.lockControllers() 
am Anfang und:

Code: Alles auswählen

    doc.unlockControllers() 
am Ende ca. 14Min!

Re: Zellen verbinden mit jeweligem Format erhalt

Verfasst: So 26. Apr 2015, 20:15
von olliisit
Hallo an alle ,

Ich probier den Code mal aus und werde berichten.

Dank schonmal bis hierhin

Re: Zellen verbinden mit jeweligem Format erhalt

Verfasst: Di 28. Apr 2015, 22:27
von olliisit
Funktioniert einwandfrei !

Tausend Dank an @karolus

und alle anderen für die Unterstützung