BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Verlauf mitschreiben

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
MPFG
Beiträge: 6
Registriert: Mo 1. Jan 2018, 11:03

Verlauf mitschreiben

Beitrag von MPFG » So 23. Sep 2018, 15:19

Hallo,

über eine Internetverknüpfung (Einfügen externer Daten in Tabellen) lasse ich mir Daten aktualisieren.
Ich habe nach dem Start immer die aktuellen Daten in meiner Tabelle.
Gibt es eine Möglichkeit Werte beim Beenden der Datei automatisch in ein anderes Tabellenblatt mit Datum und Uhrzeit zu schreiben ?
Somit könnte ich den Verlauf des Wertes verfolgen.
Ich meine
Spalte A immer Datum und Uhrzeit
Spalte B immer den angegebenen Wert mitschreiben
Bei jedem Beenden soll eine neue Zeile angelegt werden.
Weis leider nicht einmal nach was ich googeln müsste .

MfG

Wanderer
Beiträge: 103
Registriert: Mo 19. Mai 2014, 21:33

Re: Verlauf mitschreiben

Beitrag von Wanderer » Di 25. Sep 2018, 08:55

Hallo,

für so etwas brauchst Du wohl ein Makro, daß in Deinem Fall entweder beim beenden aufgerufen werden
sollte, oder einfach jedes Mal beim Start der Datei die aktuellen Daten protokolliert.

Ich habe letztes Jahr für einen vergleichbaren Fall mir einfach den entsprechenden Vorgang
- Markieren de zu sichernden Daten (Range in Zeile)
- Aufruf der "Protokolltabelle"
- Zeile am Anfang einfügen
- Daten kopieren
im Macro-Recorder von Libre Office mitschneiden lassen und das entstehende Macro an eine Schaltfläche gebunden.
Ich hänge das mal unten an, damit Du eine Idee bekommst wie so etwas aussehen kann.
Grundsätzlich könnte man auch einfach den Datenbereich anpassen.
Achtung auf die beiden JumpToTable-Anweisungen: Bei mir stehen die zu kopierenden Daten auf dem
zweiten Tabellenblatt und werden auf dem 7. Blatt gesichert.

(Der Datenbereich beginnt übrigens mit einem Feld (J4), daß JETZT() anzeigt, so daß beim kopieren auch
automatisch die Zeit der Eintragung kopiert wird und somit später der Verlauf auch für Diagramme nutzbar wäre.)

mfg, Jörn

Folgendes also nur als Inspirationsquelle - war nie zur Veröffentlichung vorgesehen...

Code: Alles auswählen

Sub JCopy2Doku
rem Protokolliert den Datenbereich J4:AL4 aus der Filtertabelle in Dokumentations-Protokoll
rem Aufgezeichnetes und modifiziertes Makro 
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$J$4"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dim args35(0) as new com.sun.star.beans.PropertyValue
args35(0).Name = "ToPoint"
args35(0).Value = "$J$4:$AL$4"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args35())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args37(0) as new com.sun.star.beans.PropertyValue
args37(0).Name = "Nr"
args37(0).Value = 7

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args37())

rem ----------------------------------------------------------------------
dim args38(0) as new com.sun.star.beans.PropertyValue
args38(0).Name = "ToPoint"
args38(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args38())

rem ----------------------------------------------------------------------
REM dispatcher.executeDispatch(document, ".uno:InsertRowsBefore", "", 0, Array())
  odoc=thiscomponent
  mysheet=odoc.sheets(6)
  myrows=mysheet.getrows
' Und jetzt einfügen: Index und Anzahl.
  myrows.insertbyindex(0,1)
args38(0).Name = "ToPoint"
args38(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args38())


rem ----------------------------------------------------------------------
dim args40(5) as new com.sun.star.beans.PropertyValue
args40(0).Name = "Flags"
args40(0).Value = "SVD"
args40(1).Name = "FormulaCommand"
args40(1).Value = 0
args40(2).Name = "SkipEmptyCells"
args40(2).Value = false
args40(3).Name = "Transpose"
args40(3).Value = false
args40(4).Name = "AsLink"
args40(4).Value = false
args40(5).Name = "MoveMode"
args40(5).Value = 4

dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args40())

End Sub

Antworten