Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

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 Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von WernerD » Sa, 11.08.2007 11:32

Hallo Eckard,

vieleicht so:
bei http://www.heise.de/ct/activaid/ das Programm activaid downloaden
die Erweiterung <hotstrings> aktivieren, neuen Eintrag hinzufügen (+) z.B. h#, im Textfeld:
----------------
Heute = %A_Now%
FormatTime, Heute, %Heute%, dd.MM.yy hh:mm
Send, %Heute%
------------------
eingeben
über dem Textfeld <AutoHotkey-Befehle> anwählen
<HotString auf Fehler überprüfen>
<Übernehmen>
Calc öffnen, Zelle anwählen, ausprobieren (Tastenkombination dann Leertaste)
also bei mir hat es geklappt.
Die Tastenkombination, Ausgabeformat usw. kannst Du ja anpassen, wie Du möchtest.

ist übrigens eine kleine feine Sammlung dieses activAid.

viel Glück.

Werner

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von egerlach » Fr, 10.08.2007 22:14

leider kommt bei Ausführung dieses Macro ein Popup Laufzeitvariable oder Methode nicht gefunden und OO 2.2 friert ein. Ich bekomme auch nicht angezeigt wo im Basic Code das Programm stehen bleibt. OO friert schon vorher ein.

Woran könnte das liegen?

Gruss
Eckard

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von Stephan » Mi, 08.08.2007 21:08

dort wo gerade der Cursor ist
dann wäre es am Universellsten das über ein einfaches paste zu machen, in:
http://www.oooforum.org/forum/viewtopic ... mclipboard

findest Du ein Makro was Du dafür schnell um 3 Zeilen erweitern kannst und erhälst:

Code: Alles auswählen

Private oTRX 

Sub datum_zeit_an_Cursorposition()  
Dim null as Object 
oClip = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard") 
oTRX = createUnoListener("TR_", "com.sun.star.datatransfer.XTransferable") 
oClipContents = oClip.setContents(oTRX, null) 
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
End Sub 

function TR_getTransferData( aFlavor as com.sun.star.datatransfer.DataFlavor ) as Any 
if (aFlavor.MimeType = "text/plain;charset=utf-16") then 
  TR_getTransferData = STR(Now())
  endif 
end function 
  
function TR_getTransferDataFlavors() as any 
Dim aF as new com.sun.star.datatransfer.DataFlavor 
aF.MimeType =    "text/plain;charset=utf-16" 
aF.HumanPresentableName = "Unicode-Text" 
TR_getTransferDataFlavors = Array(aF) 
end function 
  
function TR_isDataFlavorSupported( aFlavor as com.sun.star.datatransfer.DataFlavor ) as Boolean 
'call MyPlaySoundSystem("SystemAsterisk", true) 'My XP system beep - shows that this routine is called every 2 seconds 
TR_isDataFlavorSupported = (aFlavor.MimeType = "text/plain;charset=utf-16") 
end function
Wenn Du Sub datum_zeit_an_Cursorposition() startest wird aktuelles Datum/Zeit so eingefügt als wenn Du das mit paste machen würdest und Du erhälst automatisch das richtige Ergebnis, also ist eine Zelle markiert wird der Zellinhalt ersetzt, steht der Cursor im Zelltext wird an Cursorposition eingefügt (also Zelltext ergänzt) ist ein Teil des Zellinhaltes markiert wird nur der überschrieben.


Gruß
Stephan

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von komma4 » Mi, 08.08.2007 18:16

Ohne Nacharbeiten wird Eckhard damit nicht glücklich werden: auch diese Makros setzen in Calc einfach die Zelle, ohne auf einen vorhandenen Inhalt Rücksicht zu nehmen.....

Aber: es gibt Hoffnung, Eckhard!
Ich bin in den "letzten Zügen" des Tests der Version 2 dieses Teils.
Neben einer deutlicheren Dokumentation im Code kann DateTime2 dann auch:
in Calc
* Setzen in mehr als einer Zelle (=auch Mehrfach-Auswahl von Zell-[bereichen]
* konfigurierbar: Überschreiben oder Einfügen [vor/hinter] einem vorhandenen Inhalt
* verbessertes Fehler-handling (war: Abbruch bei Auswahl von Nicht-Zellen [Bildern, Charts])

Nachdem das Wetter mich nicht nach draussen lockt erwarte ich die Freigabe gegen Ende der Woche; eine Nachricht über das Einstellen auf sourceforge.net und meiner Website werde ich im BASIC-Forum posten. Wann dann andere mirrors (ooomacros.org /heise) eine Aktualisierung vornehmen kann ich natürlich nicht voraussagen.

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von Gert Seler » Mi, 08.08.2007 17:35

Hallo Eckard,
hier findest Du ein Makro "Aktuelles Datum" :

http://www.ooowiki.de/CalcMakros

oder hier :

http://sourceforge.net/project/showfile ... _id=128899

viel Glück.

mfg
Gert

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von egerlach » Mi, 08.08.2007 17:21

Das Zuordnen eines Macro zu einer Taste ist nicht das Problem, aber danke auch,

Gruss
Eckard

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von egerlach » Mi, 08.08.2007 15:13

das OO-Makro ist leider weder vom gedachten Funktionsumfang noch von der Funktionsfähigkeit unbrauchbar:
1. Unter Linux Suse 9.2, OpenOffice 2.1 kann nur ein einziger Datumtyp eingefügt werden, nämlich XX.XX.XX. Bei Auswahl anderer Typen z.B. mit Uhrzeit wir ### eingefügt, klicke danach dann auf das dreifachkreuz entpuppt sich das ### immer als Datum des Typ XX.XX.XX, gleich welches Format ich ausgewählt habe.
2. Es dauert zu lange bis das Datum eingefügt ist! Es dauert etwa 1 Sekunde bis das JAVa-Fenster sich öffnet, dann der Doppelklick auf das Datum z.B. von heute. Uhrzeit funktioniert nicht, das Datum z.B. 8.8. habe ich schneller so eingetippt, Uhrzeit ist nicht immer wichtig.
3. Es ist nicht möglich das Datum in eine schon vorhandenen Text einzufügen! Es kann nur ein leeres Calc-Feld damit bestückt werden. Hat das Feld schon Text, dann wird dieser gelöscht! Das ist schon KO-Kriterium

Also: nochmals die Frage in dieses Forum: kann ich in einen VORHANDENEN TEXT in einem Calc-Feld per Macro einen Text einfügen? (Basic-Programmierung geht sicherlich ... )

Gruss
Eckard

Re: Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von matlat » Mi, 08.08.2007 13:48

Hallo Eckard,
unter folgender Adresse kannst du dir ein Plugin (.riess Date Browser) runterladen, das genau das macht, was du willst.
http://www.riess.de/DE/?mitte=http%3A%2 ... te_Browser
Wolfgang

Makro für Einfügen eines Zeitstempels z.B.: 08.08.07,13:04

von egerlach » Mi, 08.08.2007 13:09

Ich führe in einer Calc-Spalte eine Art Historie von Gesprächen. Ich will per Funktionstaste/Makro einen Zeitstempel einfügen, dort wo gerade der Cursor ist, z.b.: 08.08.07, 13:04. Dahinter schreibe ich dann die neusten Gesprächsnotizen.

Um Mißverständnisse zu vermeiden: Es soll KEINE Funktion sein, die immer wieder die Zeit aktualisiert, ein STEMPEL ist ein STEMPEL und der ist unveränderlich.

danke schon mal
eckard

Nach oben