Makro für einen Zeitstempel

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro für einen Zeitstempel

Re: Makro für einen Zeitstempel

von clag » Fr, 20.02.2009 12:00

Hallo Charly,

danke für die abänderung
so wie es jetzt funktioniert erscheint es mir logisch

merkwürdig ist es aber allemal das "now" <> "now" ist :?

(traue keiner Tabelle/Statistik die du nicht selbst gefälscht hast) oder wie war das :wink:

Re: Makro für einen Zeitstempel

von Charly » Fr, 20.02.2009 11:39

Hallo Clag!
Clag hat geschrieben: ich glaube "now" schummelt irgendwie :?
Warum "Now" schummelt weiß ich auch nicht. Ich habe aber jetzt in dem Makro statt der Basic-Funktion "NOW" die Calcfunktion "Now" eingebaut. Damit werden auch die 100-Sekunden angezeigt.

Gruß
Charly
Dateianhänge
jetzt-test_1.ods
(14.98 KiB) 72-mal heruntergeladen

Re: Makro für einen Zeitstempel

von Karolus » Fr, 20.02.2009 09:06

Hallo
Bei mir (Linux , OOo3.01) wird alles auf volle Sekunden gerundet - ?
Gruß Karo

Re: Makro für einen Zeitstempel

von clag » Fr, 20.02.2009 08:52

Hallo Charly,

ich glaube "now" schummelt irgendwie :?
hier der Beweis ?
jetzt-funktion2.jpg
jetzt-funktion2.jpg (52.4 KiB) 1631 mal betrachtet
hier das Orginal
jetzt-test.ods
(12.74 KiB) 37-mal heruntergeladen

Re: Makro für einen Zeitstempel

von Charly » Fr, 20.02.2009 08:48

Hallo Clag!

Bei mir zeigt es dasselbe an. Es gibt nur Zeitdifferenzen wegen der unterschiedlichen Ausführung.
Ich füge eine Beispieldatei an.
Vielleicht gibt es auch mit der Einstellung ein Problem. In den den Optionen gibt bei Calc berechnen eine Option, Genauigkeit wie angezeigt. Das hat möglicherweise einen Einfluss darauf.

Gruß
Charly
Dateianhänge
Zeitangabe.ods
(9.14 KiB) 80-mal heruntergeladen

Re: Makro für einen Zeitstempel

von clag » Fr, 20.02.2009 08:24

Hi Charly,

scheint bei mir ander zu sein, hatte Karolus ja auch schon gesagt,
deswege habe ich ja den Screenshot angehängt

guk mal da wo Makro vorsteht
da hab mit dem jeweiligen Makro einen Wert eingetragen lassen und das gleiche Format aber nach dem Komma gib es nur noch Nullen ?

und ich habe den Wert gleich im entsprechenden Format ausgeben lassen

Code: Alles auswählen

   oZell.value = now()
   oZell.NumberFormat = 109

Re: Makro für einen Zeitstempel

von Charly » Fr, 20.02.2009 08:18

Hallo Clag!
Clag hat geschrieben: trotzdem würde mich Jetzt interessieren kann "now" nur ganze Sekunden oder wird das im dem Makro irgendwie beschnitte
"Now" arbeitet genauso wie "Jetzt". Beschnitten wird nur die Anzeige durch die Formatierung:

Code: Alles auswählen

oZell.NumberFormat = 30
Formatiere das Ergebnis in eine Zahl mit vielen Kommastellen um und du hast die gleiche Anzeige , wie bei "Jetzt".

Gruß
Charly

Re: Makro für einen Zeitstempel

von clag » Fr, 20.02.2009 07:49

Moin moin liebe Leutz,

sorry wenn ich da nochmal nachfrage,

ich habe mit den Macros und der Funktion "JETZT" noch etwas herumprobiert und bemerkt,
dass zumindest "JETZT" doch im Bereich Sek/100 auflöst und die Makros unbeirrt immer ganze Sekunden ausgeben
und damit nicht für Protokoll Aktionen > 1 Hz geeignet wären
(ich hatte dabei an einen automatisierten (Makro) Zeilenweisen Datenimport aus einer anderen Tabelle gedacht)

Für ein manuelles Auslösen nach händischer Eingabe eine Datensatzes reicht 1 Sek Differenz natürlich völlig.

trotzdem würde mich jetzt interessieren kann "now" nur ganze Sekunden oder wird das im dem Makro irgendwie beschnitten?
jetzt-funktion1.jpg
jetzt-funktion1.jpg (49.38 KiB) 1630 mal betrachtet
edit: neues Bild hochgeladen

Re: Makro für einen Zeitstempel

von Karolus » Do, 19.02.2009 17:28

Hallo
1. 1000stel Sekunden bekomme
gar nicht, auch bei Kommastellen hinter den Sekunden wird auf die Sekunde gerundet.
2. das ZellFormat beibehalten wird
indem du die Zeile:
oZell.NumberFormat = 30
mit einem ' auskommentierst
und mit einer eingefügten Zeile:
msgbox ozell.numberformat
erfährst du den internen Zahlenformatindex der aktuellen Zelle
3. wieso funktioniert "jetzt" nicht
weil die Unterstützung von Calc-funktionen innerhalb der Basic-Umgebung erst mal mit ein paar extra Codezeilen [Dannenhöfer] aktiviert werden müsste - du dann aber innerhalb trotzdem die englischen Calcfunktionen benutzen müsstest -- und jetzt rate mal wie das englische jetzt() genannt wird --- now()
kurz: Jetzt() ist auch nicht genauer wie die runtimefunction now - aber komplizierter.

Gruß Karo

Makro für einen Zeitstempel

von clag » Do, 19.02.2009 16:43

Hallo Leutz,

ich möchte neuen oder geänderten Datensätzen in einer Tabelle einen Zeitstempel verpassen per Formel oder Makro,
bei meiner Stöberei hier bin ich auf folgenden Beitrag/ Makro gestoßen
viewtopic.php?f=10&t=4921
Toxitom hat geschrieben:Hey Gerald,

also gut - da es soviel Fragen hierzu schon gab: hier mal eine Lösung:

Nein, eine eingebaute Funktion ist nicht drin. Lässt sich aber ganz leicht selbst verwirklichen.

Die folgende Funktion speichertst du ab in "Meine Makros" - "Standard":

Code: Alles auswählen

function myNow()
	oZell = thisComponent.getcurrentSelection()
	if not oZell.supportsService("com.sun.star.sheet.SheetCell") then
	    msgbox "Bitte nur eine Zelle markieren (aktivieren)!", 48, "Fehler!"
	    exit function
	end if
	oZell.value = now()
	oZell.NumberFormat = 30
end function
Gruss
Thomas
funktioniert soweit,
aber einige Eigenheiten versteh ich nicht, würd ich aber gern

1. es werden nur Einträge mit ganzen Sekunden erzeugt
2. das von mir voreingestellte Datumsformat "TT.MM.JJJJJ HH:MM:SS,0000" wird wieder auf "TT.MM.JJ" zurück gesetzt
3. mein DAU versuch das "now" durch "jetzt" zu erstzen führte zu einer Nullnummer, naja (versuch macht kluch) :D oder auch nicht :lol:

vielleicht kann mir jemand erklären wie es zu stande kommt, bzw was ich ändern müsste damit ich

1. 1000stel Sekunden bekomme
2. das ZellFormat beibehalten wird
3. wieso funktioniert "jetzt" nicht

schonmal Danke fürs lesen :)

Nach oben