Seite 1 von 1
Re: Spreadsheet refresh ausschalten?
Verfasst: So, 30.11.2008 18:40
von komma4
Das Schreiben von 500*8 Zellen geschieht -hoffentlich- über .setDataArray()?
Findet die Bearbeitung im Vordergrund statt, kannst Du einen Teil der Bildschirmaktualisierung ausschalten, oder den ActionLock für das Objekt nutzen
siehe
com.sun.star.frame interface XModel
ThisComponent.addActionLock()
und
com.sun.star.document interface XActionLockable
ThisComponent.lockControllers()
Diese Sperren müssen natürlich wieder zurückgenommen werden.
Kommst Du damit zurecht?
Re: Spreadsheet refresh ausschalten?
Verfasst: So, 30.11.2008 21:52
von komma4
Gast hat geschrieben:Ich muss nämlich ein paar Date-Felder setzen.
Ein Datum ist auch nur eine Zahl...
Re: Spreadsheet refresh ausschalten?
Verfasst: Mo, 01.12.2008 08:23
von Markus1972
Hi,
ja, das weiss ich.
Hierbei habe ich aber zunächst mal das Problem, dass ich bisher noch nicht herausgefunden habe, wie man verlässlich ein java.util.Date in die entsprechende Zahl umwandelt, die von einer Zelle als Datum erkannt wird (da muss ja vom Nulldate des aktuellen Docs abgezogen werden und ich weiss schon nicht, wie man dieses bestimmt).
Hierzu gibt es viele Threads und Posts aber so richtig pfiffig war das alles bisher noch nicht.
Ein Code-Schnipsel, den ich gefunden habe, setzt einfach nen Text und formattiert dann die Zelle um.
Ist aus meiner Sicht sehr unelegant, aber ich hab wirklich lange Tage recherchiert und keinen Ansatz gefunden.
(mag auch sein, dass ich einige Prinzipien von OO noch nicht verstanden habe).
Falls ich es aber nun auf wundersame Weise doch schaffen sollte, ein java.util.Date in eine Zahl umzuwandeln, welche OO als Datum interpretiert - muss ich dann nicht dennoch der Zelle sagen, dass das ein Datum und keine einfache Zahl ist?
Danke für die Hilfe
Markus
Re: Spreadsheet refresh ausschalten?
Verfasst: Mo, 01.12.2008 08:25
von Markus1972
Ah,
ich sehe, Du hast da mal so ein paar Extensions geschrieben, bei denen ich sicherlich im Sourcecode ein paar Hinweise finden würde?
Markus
PS: Den Sourcecode gibts nicht zufällig irgendwo zum Download?
Re: Spreadsheet refresh ausschalten?
Verfasst: Mo, 01.12.2008 12:38
von komma4
Markus1972 hat geschrieben:PS: Den Sourcecode gibts nicht zufällig irgendwo zum Download?
In den Code-Modulen der Extensions
Du brauchst auch keine DATE Struktur füllen, nehme einfach
DateSerial (siehe F1)
Code: Alles auswählen
Dim lDatum as Long
lDatum = DateSerial( 2003, 01, 20 )
ach so; Java....:keine Ahnung
Re: Spreadsheet refresh ausschalten?
Verfasst: Mo, 01.12.2008 19:42
von komma4
Ja, so macht es DateTime2
Code: Alles auswählen
' Daten auf diesen Bereich
oSelection.setDataArray( oDaten() )
If sDateTime_setAs= "val" Then
' Datumformat (ist ein Nummernformat) anwenden
' apply date (number) format
oSelection.NumberFormat = nDateTime_SetFormat
End If
Du wolltest Dir doch den Code ansehen...