Seite 1 von 1

Calc Makro: Nicht alle Aktionen werden aufgezeichnet

Verfasst: Mi, 11.12.2013 20:11
von Ich Bins
Hallo zusammen,

momentan versuche ich mich mit OpenOffice Canc anzufreunden.
Beim Ausführen eines zuvor aufgezeichneten Makro wundere ich mich über nicht ausgeführte Aktionen.
Manche Aktionen werden ausgeführt andere wie z.B. wird das Ändern der Spaltenbreite und das Verschieben von Spalten nicht.

Gibt es Voreinstellungen die man vor dem Aufzeichen beachten muss damit alle Aktionen aufgezeichnet werden ?
Kann es sein, dass diese Aktionen programmiert werden müssen ?

Gruß
Ich Bins

Re: Calc Makro: Nicht alle Aktionen werden aufgezeichnet

Verfasst: Mi, 11.12.2013 20:45
von F3K Total
Ach, du bist's!
Ich Bins hat geschrieben:Gibt es Voreinstellungen die man vor dem Aufzeichen beachten muss damit alle Aktionen aufgezeichnet werden ?
Nein, gibt es nicht.
Ich Bins hat geschrieben:Kann es sein, dass diese Aktionen programmiert werden müssen ?
Ja, genau so ist es!
Der Makro Recorder kann relativ wenig.
Mit der Programmierung geht fast alles.
Ich Bins hat geschrieben:... andere wie z.B. wird das Ändern der Spaltenbreite und das Verschieben von Spalten nicht.
Du brauchst nur eins, entweder stellst du die Breite ein, dann verschieben sich die Spalten, oder du verschiebst die Spalten und stellst damit die Breite ein.
Hier, als Beispiel, ein kurzes Makro, das die Spalten des Bereichs "A1:S1" auf "Tabelle1", ausgehend von einer Startbreite, gleichmäßig, zu einer Endbreite wachsen läßt:

Code: Alles auswählen

Sub S_Column_Width
    osheet = thiscomponent.sheets.getbyname("Tabelle1")
    oRange = osheet.getcellrangebyname("A1:S1")
    nB_Start = 0.5 'Startbreite[cm]
    nB_End = 2.0 'Endbreite[cm]
    nColumns = oRange.columns.Count - 1 
    M =  1000 * (nB_End - nB_Start)/nColumns
    nWidth = nB_Start * 1000
    for i = 0 to nColumns       
        ocolumn = oRange.columns(i)
        ocolumn.Width = nWidth + (i*M)
    next i
End Sub
Gruß R