Openoffice Calc V. 5.1.5.2 - Makro zum Speichern Unter mit Dateinamen aus Zelle?

Hallo Zusammen,

ich bin was Makros angeht ziemlich unerfahren. Dennoch möchte ich es gerne mit eurer Hilfe angehen! Was machen brauche ist ein Makro, dass beim klicken eines Buttons folgende Funktion durchführt.

  1. Wechsel auf "Tabellenblatt 2" (in meiner Datei "Vorlage CSV"
  2. Zelle "B2" kopieren
  3. Speichern Unter -> Dateiname "Roh_[Inhalt Zelle B2]"
  4. Dateiformat .CSV
  5. Dateipfad indem gespeichert werden soll (M:\Abrechnung..Funk- und MBus-Ablesungen..Versandlisten Funkzähler parametriert)

*Das habe ich bisher:

sub csvexp 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 = 3

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

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

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

rem ---------------------------------------------------------------------- dim args4(2) as new com.sun.star.beans.PropertyValue args4(0).Name = "URL" args4(0).Value = "file:///M:/Abrechnung/..Funk-%20und%20MBus-Ablesungen/..Versandlisten%20Funkz%C3%A4hler%20parametriert/Roh_Fe12-11111,%20Kupferstr.%2040-46,%2070565%20Stuttgart.csv" args4(1).Name = "FilterName" args4(1).Value = "Text - txt - csv (StarCalc)" args4(2).Name = "FilterOptions" args4(2).Value = "59,34,22,1,,0,false,true,true,false"

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args4())

end sub *

Das Problem ist nun, dass er immer unter dem Namen "Fe12-11111, Kupferstr. 40-46, 70565 Stuttgart" speichert, egal welcher inhalt in der Zelle B2 steht.

Habt ihr Ideen, woran das liegt?

Vorab vielen Dank für Eure Hilfe!

Bild zum Beitrag
Microsoft Excel, speichern, Makro, OpenOffice, Tabellenkalkulation, Calc
LibreOffice Calc: Zellentext als Formel verwenden?

Hallo zusammen,

ich habe eine kleine Wetterstation, die mir stündlich alle möglichen Messwerte liefert. Die stehen spaltenweise in einer Calc-Datei, jede Stunde (=jeder Datensatz) entspricht einer Zeile. Nach 5 Jahren möchte ich mir nun eine Statistik aufbauen (Monatsdurchschnittstemperaturen, etc). Dies von Hand zu machen, ist wahnsinnig aufwändig, da ich in der langen Liste der Werte (mehrere zehntausend) zuerst immer Monatsanfang und -Ende suchen und diese Zeilennummern dann in jeder einzelnen Formel von Hand anpassen müsste.

Auf einen Kompromiss würde ich mich einlassen, und zwar, dass ich die Zeilennummer des jeweils Monatsersten in ein neues Tabellenblatt eintrage. Das sieht dann also z.B. so aus, dass in der Spalte A die folgenden Werte stehen: 310 (Zeile mit erstem Messwert von März 2012) 1052 (Zeile mit erstem Messwert von April 2012 usw) 1747 2490 ... Da zwischendurch einzelne Messwerte fehlen (Batterie leer, Funkkontakt unterbrochen, ...), hat nicht jeder Monat gleich viele Messwerte, also Anzahl Zeilen in Calc. Die Messdaten stehe in einem separaten Tabellenblatt namens "Rohwerte".

Wie kann ich in Calc nun Formeln "automatisieren", dass ich diese Zahlenwerte nutze, um die monatsweisen Daten zusammenzufassen, also z.B. Monats-Temperatur-Mittelwert so: =Mittelwert(Rohwerte.D[A1]:D[A2-1]) wobei A1 im Beispiel oben dann die 310 enthält (der monatserste Messwert) und A2 den monatsletzten Wert 1052.

Ich hoffe, das war verständlich.

Vielen Dank vorab! Christian

P.S.: Mein aktueller Stand ist, dass ich die notwendige Formel als String zusammenbaue. Das funktioniert zwar, aber ich bekomme es nicht hin, den entstandenen String in einer anderen Zelle als Formel zu verwenden: ="=Min(Rohwerte.D"&A32&":D"&A33-1&")" In A32 steht in diesem Fall der monatserste des aktuellen Monats und in A33 der monatserste des nächsten Monats, daher "-1". Diese Formel erstellt über die manuell eingetragenen Zeilenwerte in A32 und A33 den Zellinhalt =Min(Rohwerte.D16124:D16522) was mich zum Ziel bringen würde, aber diesen String müsste ich eben in einer anderen Zelle als Formel ausführen....

Text, Bezug, Formel, LibreOffice, Calc

Meistgelesene Beiträge zum Thema Calc