Seite 1 von 1

heute() nicht aktualisieren CALC

Verfasst: So, 13.11.2005 14:22
von Gerald Ratzmann
Schönen Tag auch,

ich möchte in einer CALC Vorlage mir das aktuelle Datum ausgeben lassen, allerdings so, daß es bei späterer Bearbeitung nicht mehr aktualisiert wird - wie es analog bei WRITER möglich ist ein fixes Datum per Feldbefehl einzugeben. (Diese Funktion gibt es offensichtlich nicht bei CALC)

Habe mal im Forum gesucht, aber leider keine Antwort gefunden. Gibt's hier einen CALC Freak der die Lösung kennt und diese auch weitergibt ??

Danke !!

Gruß
Gerald

Verfasst: So, 13.11.2005 15:01
von Toxitom
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
Dann gehst du über Extras - Anpassen und weist einem frei wählbaren Tastaturkürzel dieses Makro zu. (Ich hab F3 genutzt, ist in Calc nicht belegt.

Und dann: Cursor in Zelle, F3 drücken (oder eben dein Tastaturkürzel), aktuelles Datum steht in der Zelle - fix.

Gruss
Thomas

Verfasst: Mo, 14.11.2005 20:42
von Gerald Ratzmann
Hallo Thomas,

vielen Dank für die Lösung, klappt wunderbar.
Ich kann zwar den Text des Makros lesen, verstehen ist aber nicht. Makroprogrammierung ist halt doch was anderes als "normale" Funktionsnutzung.

Danke nochmal.

Gruß
Gerald

Re: heute() nicht aktualisieren CALC

Verfasst: So, 14.09.2008 13:05
von jadebaer
Hallo,

bei mir klappt's leider noch nicht. Wenn ich ein neues Makro aufmache sind da schon ein paar Befehle vorhanden.
Wo genau muss ich den kopierten Programm-Code einfügen?

Edit: Habe nochmal rumprobiert. Jetzt funktioniert es. Auch von mir: Vielen Dank.

Re: heute() nicht aktualisieren CALC

Verfasst: So, 14.09.2008 13:12
von chrk
jadebaer hat geschrieben: Edit: Habe nochmal rumprobiert. Jetzt funktioniert es. Auch von mir: Vielen Dank.
Hallo jadebaer,
würdest Du bitte hier: Re: automatisch eingefügtes Datum fixen den Beitrag editieren und die Erfolgsmeldung anfügen. Außerdem könntest Du Deinen ersten Beitrag in dem Thread editieren und den Titel als "[gelöst]" markieren. Das macht es für alle anderen übersichtlicher.
Danke

Re: heute() nicht aktualisieren CALC

Verfasst: So, 23.05.2010 21:20
von murxer
Es ist zwar schon ein über zwei Jahre alter Thread, aber trotzdem gut und *sehr* hilfreich! Habe ihn erst vorhin "ergoogelt". Also Gnade bitte :-)

Wie jadebaer schon schrub, werden beim Öffnen eines neuen Makros ein paar Befehle automatisch eingefügt.
- Einfach alle weglöschen
- Den Code von Toxitom einfügen und seinen weiteren Anweisungen folgen.

Klappt super (bei mir mit [F3] und OpenOffice 3.2.0 OOO320m12/Built:9483 von PortableApps.com).

Mit [F3] kann ich leben, aber das excelkonforme [Strg+.] wäre mir natürlich lieber (altersbedingte Inflexibilität).

Lässt sich da vielleicht doch noch was machen?

Aufgrund meiner Recherchen wohl eher nicht, aber findet google wirklich alles?

Hätte bezüglich [Strg+.] vielleicht jemand einen Tipp oder Link für mich?

LG und *vielen Dank* an Toxitom für seine obige 1A-Makroanleitung!

murxer

Re: heute() nicht aktualisieren CALC

Verfasst: So, 23.05.2010 21:49
von turtle47
Hallo,
Gast hat geschrieben:<Strg>+ist vorbelegt für 'Zellen einfügen'.
Es geht nicht um <Strg> und <Plus> sondern um <Strg> und <Punkt>
denn murxer hat geschrieben:Hätte bezüglich [Strg+.] vielleicht jemand einen Tipp oder Link für mich?
So weit ich das gesehen habe geht das Gewünschte nicht.

Jürgen

Re: heute() nicht aktualisieren CALC

Verfasst: Mo, 24.05.2010 13:51
von lorbass
murxer hat geschrieben:Hätte bezüglich [Strg+.] vielleicht jemand einen Tipp oder Link für mich?
Mit Winfried Rohrs (komma4) Extension DateTime2 und nach ein bißchen Handarbeit kann ich das aktuelle Datum per [Strg]+[.] in die aktuelle Zelle einfügen.

Die Handarbeit bezieht sich auf die Datei Accelerators.xcu im Verzeichnis ~/.openoffice.org/3/user/registry/data/org/openoffice/Office (Linux) bzw. %APPDATA%/openoffice.org/3/user/registry/data/org/openoffice/Office (Windows). Die sieht bei mir so aus:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Accelerators" oor:package="org.openoffice.Office">
 <node oor:name="PrimaryKeys">
  <node oor:name="Modules">
   <node oor:name="com.sun.star.sheet.SpreadsheetDocument">
...
    <node oor:name="POINT_MOD1" oor:op="replace">
     <prop oor:name="Command">
      <value xml:lang="de">vnd.sun.star.script:DateTime2.DateTime2.Datum_Feld?language=Basic&location=application</value>
     </prop>
    </node>
...
Relevant sind die Zeilen zwischen den beiden Ellipsen (...)

Gruß
lorbass