Spreadsheet refresh ausschalten?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Spreadsheet refresh ausschalten?

Beitrag 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?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Spreadsheet refresh ausschalten?

Beitrag von komma4 »

Gast hat geschrieben:Ich muss nämlich ein paar Date-Felder setzen.
Ein Datum ist auch nur eine Zahl...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Markus1972
Beiträge: 3
Registriert: Fr, 07.11.2008 10:22

Re: Spreadsheet refresh ausschalten?

Beitrag 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
Markus1972
Beiträge: 3
Registriert: Fr, 07.11.2008 10:22

Re: Spreadsheet refresh ausschalten?

Beitrag 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?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Spreadsheet refresh ausschalten?

Beitrag 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
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Spreadsheet refresh ausschalten?

Beitrag 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...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten