Zeitstempel in Zelle einfügen

Tabellenkalkulationsprogramm

Moderator: Moderatoren

Zeitstempel in Zelle einfügen

Beitragvon GL. » Di, 09.10.2007 16:18

Hallo zusammen,

ich habe mich schon durch einige Themen durchgewühlt, komme aber nicht ganz klar.
Ich hätte gerne eine Tabelle erstellt wo man in einer Zelle zB. "x" eingibt und OO soll mir automatisch die Uhrzeit und das Datum in eine andere Zelle derselben Reihe schreiben.
Ist das möglich??

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon balu » Di, 09.10.2007 16:46

Hallo Gl.

Nichts einfacher als das.

Beispiel:
Wenn Du in G1 dein "X" setzt, dann schreibst Du einfach in G10 folgende Formel.
=WENN(G1="X";JETZT();"")
darauf schreibt dir OO in G10
09.10.2007 17:46

Das wars :lol:

Um erst die Uhrzeit, dann das Datum anzuzeigen mach noch folgendes.
Zelle G10 anklicken.
Zellen formatieren.
Auf den Reiter Zahlen gehen.
In der Kategorie wählst Du Benutzerdefiniert aus.
Unten bei Format-Code gibst Du
HH:MM TT.MM.JJJJ
ein. Und Fertig.

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
*******
 
Beiträge: 1798
Registriert: Do, 23.08.2007 23:28
Wohnort: Warstein

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Di, 09.10.2007 17:08

Hallo Balu,

so einfach ist es glaube ich doch nicht, denn wann ich diese Formel benutze wird die Zelle jedesmal aktualisiert wenn ich die Datei öffne, und das soll ja nicht sein.
Das Datum und die Zeit sollen ja immer stehenbleiben, damit man zB. sieht wann die Eingabe ("x") gemacht wurde.

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon paljass » Di, 09.10.2007 17:15

Hallo GL,

mit der Suchfunktion (suche nach "Zeitstempel" findest du
das.

Vielleicht hilfts weiter; ich selbst habs noch nicht ausprobiert.

Gruß
paljass
paljass
******
 
Beiträge: 863
Registriert: Di, 15.11.2005 18:43

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Di, 09.10.2007 17:34

Hallo Paljass,

das habe ich auch gefunden, habe aber keine Ahnung wie das benutzt werden soll.

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon Eddy » Di, 09.10.2007 18:03

Hallo GL,

guckst Du hier:

http://de.openoffice.info/viewtopic.php?f=10&t=4921&hilit=datum+fix

Mit heutigen Grüßen

Eddy
Eddy
*******
 
Beiträge: 1337
Registriert: So, 02.10.2005 09:14

Re: Zeitstempel in Zelle einfügen

Beitragvon lorbass » Di, 09.10.2007 18:27

GL. hat geschrieben:das habe ich auch gefunden, habe aber keine Ahnung wie das benutzt werden soll.

Und dabei hat sich Winfried eine solche Mühe mit der zweisprachigen Bedienungsanleitung gegeben, die er auf seiner Makros-Seite veröffentlicht hat ...

Gruß
lorbass
lorbass
*******
 
Beiträge: 1154
Registriert: Mo, 01.05.2006 20:29
Wohnort: Bonn

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Di, 09.10.2007 18:36

Hallo Eddy,

das ist auch OK, aber soll ja automatisch funktionieren ohne Tastenkombi oder sonst etwas.
Habe was für excell gefunden, funktioniert aber nicht für OO.Siehe Link.

http://www.office-loesung.de/ftopic106232_0_0_asc.php

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon komma4 » Mi, 10.10.2007 00:18

Das funktioniert auch für Calc, wenn Du einen entsprechenden Listener-Code schreibst und aktivierst.
Cheers
Winfried
OOo 3.0.1 mit openSuSE 11.1
MeineMakros
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
 
Beiträge: 3809
Registriert: Mi, 03.05.2006 22:29
Wohnort: Chon Buri Thailand Asia

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Mi, 10.10.2007 09:19

Hallo Komma4,

Das wäre schön wenn das für Calc auch funktionieren würde, nur leider habe ich absolut Null Ahnung von Codes schreiben.
Vielleicht gibt es ein Crack im Forum der helfen kann.

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Mi, 17.10.2007 11:50

Hallo zusammen,

kann wirklich niemand helfen? :?

mfg GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon komma4 » Mi, 17.10.2007 19:51

Ich habe auf Deine dringende Nachfrage etwas recherchiert und das folgende Beispiel gefunden, etwas angepasst und an den wichtigen (zu ändernden!) Stellen im Code kommentiert.

Zusätzliche Anmerkungen:
* Ablage des Moduls am Dokument, wo es wirken soll, oder in der STANDARD-Bibliothek von "Meine Makros"

* die verwendeten Variablen im Code sind GLOBAL definiert, was bedeutet, dass sie während der gesamten OOo-Sitzung Gültigkeit haben (ihre "Lebensdauer" haben); die Verwendung von gleichnamigen Variablen in anderen Makros verbietet sich deshalb!

* Aktivieren des Codes bspw. durch Zuweisen des Makros SetListeners zum Dokument-Öffnen-Ereignis (Anpassen>Ergeinisse)

* Deaktivieren des Listeners daselbst beim Dokument>Schliessen mittels des Makros RemoveListener
Dieses Wegnehmen des Listeners ist unbedingt notwendig, um die Stabilität von OOo nicht zu beeinflussen

* Bei meinen Tests (2.3.0) stellte sich heraus, dass schnelles Ändern/Einfügen in der beobachteten Spalte A nicht immer korrekt den Zeitstempel in die gleiche Zeile setzte, manchmal wurde auch eine andere B-Zelle besetzt, meist die zuvor bearbeitete.

* Der Code setzt den Zeitstempel bei jeder Änderung in Spalte A - nicht nur, wenn ein x eingegeben wurde

Kommst Du damit zurecht?

Code: Alles auswählen
' http://www.oooforum.org/forum/viewtopic.phtml?t=27026
' ms777 Posted: Sat Nov 19, 2005 3:30 pm
' angepasst 2007-10-17
' http://de.openoffice.info/viewtopic.php?f=2&t=14347

global lastCol as long
global lastRow as Long
global actCol as long
global actRow as Long

Global oRange
Global oContr
Global oDatChangeListener
Global oSelChangeListener


Sub RemoveListener
oRange.removeChartDataChangeEventListener(oDatChangeListener)
oContr.removeSelectionChangeListener(oSelChangeListener)
End Sub

Sub SetListeners()
oSelChangeListener = createUnoListener("O1_","com.sun.star.view.XSelectionChangeListener")
oDatChangeListener = createUnoListener("O2_","com.sun.star.chart.XChartDataChangeEventListener")
' Tabellen-Index
' oSheet = ThisComponent.sheets.getByIndex(0)
oSheet = ThisComponent.Sheets.getByName( "Tabelle1" )
oContr = ThisComponent.CurrentController

' zu beobachtender Bereich
' Angabe der Zellen
' Null-basiert: A1=0,0  B1=1,0   C4=3,3
' Links, Oben, Rechts, Unten
' hier: gesamte Spalte A, OOo Version 2
oRange = oSheet.getCellRangeByPosition(0,0,0,65535)

lastRow = 0
lastCol = 0

oContr.addSelectionChangeListener(oSelChangeListener)
oRange.addChartDataChangeEventListener(oDatChangeListener)

' ausgelagert !
' oRange.removeChartDataChangeEventListener(oDatChangeListener)
' oContr.removeSelectionChangeListener(oSelChangeListener)

End Sub

Sub O1_selectionChanged(aEvent as com.sun.star.lang.EventObject)
'xray.xray aEvent
oSel = aEvent.Source.Selection
if HasUnoInterfaces(oSel, "com.sun.star.sheet.XCellAddressable") then
  oCA = oSel.CellAddress
  actCol = lastCol
  actRow = lastRow
  lastCol = oCA.Column
  lastRow = oCA.Row
  endif
end sub


Sub O2_chartDataChanged(a as com.sun.star.chart.ChartDataChangeEvent)
' Spaltenangabe: B
oDateCell=ThisComponent.CurrentController.ActiveSheet.getCellByPosition(1, actRow)
oDateCell.SetString(Now)
End Sub
Cheers
Winfried
OOo 3.0.1 mit openSuSE 11.1
MeineMakros
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
 
Beiträge: 3809
Registriert: Mi, 03.05.2006 22:29
Wohnort: Chon Buri Thailand Asia

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Do, 18.10.2007 11:51

Hallo Komma4,

Danke, Danke, Danke, Danke,.........
DAS IST SUPER MIT STERNCHEN !!!!! :D :D :D
Habe es nach einigen anfangschwierigkeiten zum laufen gebracht. Klappt einwandfrei.

Hätte aber noch einige Fragen:
Wie ändert man den Code wenn ich eine andere Spalte zB. "H" für die Eingabe benötige, der Zeitstempel soll aber in Spalte "C" erscheinen?
Wie ändert man den Code wenn ich eine andere Spalte zB. "H1" für die Eingabe benötige, der Zeitstempel soll aber in Spalte "C" immer 2 Reihen tiefer erscheinen?

Ich weiss das ist jetzt ein bischen nervig, aber wie gesagt zurzeit habe ich von Codes noch keine Ahnung. (Ich hoffe das sich das auch mal ändert)

mfg. GL.
GL.
 

Re: Zeitstempel in Zelle einfügen

Beitragvon komma4 » Do, 18.10.2007 17:17

GL. hat geschrieben:Wie ändert man den Code wenn ich eine andere Spalte zB. "H" für die Eingabe benötige
Code: Alles auswählen
' zu beobachtender Bereich
' Angabe der Zellen
' Null-basiert: A1=0,0  B1=1,0   C4=3,3
' Links, Oben, Rechts, Unten
' hier: gesamte Spalte H, OOo Version 2
oRange = oSheet.getCellRangeByPosition(7,0,7,65535)



GL. hat geschrieben:der Zeitstempel soll aber in Spalte "C" erscheinen?

Code: Alles auswählen
Sub O2_chartDataChanged(a as com.sun.star.chart.ChartDataChangeEvent)
' Spaltenangabe: C
oDateCell=ThisComponent.CurrentController.ActiveSheet.getCellByPosition(2, actRow)



GL. hat geschrieben:Wie ändert man den Code wenn ich eine andere Spalte zB. "H1" für die Eingabe benötige, der Zeitstempel soll aber in Spalte "C" immer 2 Reihen tiefer erscheinen?

Code: Alles auswählen
Sub O2_chartDataChanged(a as com.sun.star.chart.ChartDataChangeEvent)
' Spaltenangabe: C, aber zwei Reihen unterhalb
oDateCell=ThisComponent.CurrentController.ActiveSheet.getCellByPosition(2, actRow+2)


Alles ungetestet: verschwinde nun aus dem Büro :-)
Cheers
Winfried
OOo 3.0.1 mit openSuSE 11.1
MeineMakros
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
 
Beiträge: 3809
Registriert: Mi, 03.05.2006 22:29
Wohnort: Chon Buri Thailand Asia

Re: Zeitstempel in Zelle einfügen

Beitragvon GL. » Do, 18.10.2007 18:47

Hallo Komma4,

Danke für die schnelle Antwort, funktioniert einwandfrei. :D :D


mfg. GL.
GL.
 

Nächste

Zurück zu OOo Calc

Wer ist online?

Mitglieder in diesem Forum: Google [Bot], MSN [Bot] und 1 Gast