Formeln sollen nur unter Bedingungen in einem Feld sein.
Moderator: Moderatoren
-
- *****
- Beiträge: 284
- Registriert: Mo, 10.05.2010 11:17
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo True Color,
aber unabhängig von den Strichen ist doch letzter Stand, dass wir uns im Jahr 1905 befinden, oder blick ich nicht mehr durch? Ansonsten gibts noch die Original-Version von balu, aber da sind nur die Minuten mit führenden Null versehen und mein Versuch analog Zeilen für Monat, Tag... reinzuschreiben sind kläglich gescheitert.
Schöne Grüße, vierviervier.
aber unabhängig von den Strichen ist doch letzter Stand, dass wir uns im Jahr 1905 befinden, oder blick ich nicht mehr durch? Ansonsten gibts noch die Original-Version von balu, aber da sind nur die Minuten mit führenden Null versehen und mein Versuch analog Zeilen für Monat, Tag... reinzuschreiben sind kläglich gescheitert.
Schöne Grüße, vierviervier.
Windows 10
AOO 4.1.1 LO 6.0.7.3
AOO 4.1.1 LO 6.0.7.3
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo.
Quäle mich derzeit noch mit ner starken Erkältung rum, deshalb nur kurz.
Ich sagte ja schon das die Sache mit der Datumsformatierung nicht so einfach ist. Aber warum nicht ganz einfach so rum?
Tipp am Rande.
Die Formatierung erst mal inCalc ausprobieren.
Gruß
balu
Quäle mich derzeit noch mit ner starken Erkältung rum, deshalb nur kurz.
Wen meinst Du?Karolus hat geschrieben: damit ihr
Vernünftig und vernünftig sind zwei verschiedene Paar Schuhe.Karolus hat geschrieben: vernünftig*** zu programmieren
Okay, dann entschuldige ich mich bei dir, vier³.TrueColor hat geschrieben: Oh, ich glaube, dass ist dann auf meinem Mist gewachsen.
Ich sagte ja schon das die Sache mit der Datumsformatierung nicht so einfach ist. Aber warum nicht ganz einfach so rum?
Code: Alles auswählen
sCSVzusatz = Format(Now(), "yyyy-mm-dd") & "_" & Format(Now(), "hh-mm-ss")
Die Formatierung erst mal inCalc ausprobieren.
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
wehr rächtschraipfähler findet khan si behalden

-
- *****
- Beiträge: 284
- Registriert: Mo, 10.05.2010 11:17
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo Balu,
na ja, die Entschuldigung kann ich leider nur halb annehmen, die andere Hälfte geht ja doch auf mich, weil ja nun mal die gezielte Fehlersuche auf Basis der Hinweise, die der Fehler gibt (hier: Endung fehlt) ein Teil des Programmierens ist. Aber man lernt - auch bei der Fehlersuche.
Danke für deinen Vorschlag (im übrigen läuft zZ immer noch dein Original stabil draußen an der Wirklichkeitsfront), und jetzt wieder eine von diesen bösen Anfänger-Fragen: wie das in Calc vorher ausprobieren? (es mit "=" in die Befehlszeile stellen ergibt Err.508, aber das meinst du wahrscheinlich nicht).
Aber kurier dich erst mal aus, ich hoffe ich habe Dich mit meiner fatalen Kombination von Perfektionismus und Programmiertechnischem Analphabetentum nicht ins Bett gebracht
Gute Besserung, vierviervier.
na ja, die Entschuldigung kann ich leider nur halb annehmen, die andere Hälfte geht ja doch auf mich, weil ja nun mal die gezielte Fehlersuche auf Basis der Hinweise, die der Fehler gibt (hier: Endung fehlt) ein Teil des Programmierens ist. Aber man lernt - auch bei der Fehlersuche.
Danke für deinen Vorschlag (im übrigen läuft zZ immer noch dein Original stabil draußen an der Wirklichkeitsfront), und jetzt wieder eine von diesen bösen Anfänger-Fragen: wie das in Calc vorher ausprobieren? (es mit "=" in die Befehlszeile stellen ergibt Err.508, aber das meinst du wahrscheinlich nicht).
Aber kurier dich erst mal aus, ich hoffe ich habe Dich mit meiner fatalen Kombination von Perfektionismus und Programmiertechnischem Analphabetentum nicht ins Bett gebracht
Gute Besserung, vierviervier.
Windows 10
AOO 4.1.1 LO 6.0.7.3
AOO 4.1.1 LO 6.0.7.3
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo vier³,
Mit der Funktion =TEXT(), oder aber die Zelle dementsprechend per rechtsklick formatieren.
Wenn in A1 ein Datum und in A2 eine Zeit steht, dann diese Formel z.B. in B1 eingeben.
Interessant ist auch folgendes:
Bei der Zeit kann man zwischen den "Einheiten" leerzeichen angeben, und es kommt die korrekte Zeit dabei raus. Aber beim Datum funktioniert das nicht. Probiers mal aus.
Das was in der Formel in Anführungszeichen steht "...." kann man ja auch für die direkte Zellformatierung angeben.
Gruß
balu
Auf zweierlei wegen?wie das in Calc vorher ausprobieren?
Mit der Funktion =TEXT(), oder aber die Zelle dementsprechend per rechtsklick formatieren.
Code: Alles auswählen
=TEXT(A1;"YYYY-MM-DD")& " - " & TEXT(A2;"HH-MM-SS")
Interessant ist auch folgendes:
Code: Alles auswählen
=TEXT(A1;"YYYY MM DD")& " - " & TEXT(A3;"HH MM SS")
Das was in der Formel in Anführungszeichen steht "...." kann man ja auch für die direkte Zellformatierung angeben.
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
wehr rächtschraipfähler findet khan si behalden

Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Dann wünsch ich dir eine schnelle Gute Besserung!balu hat geschrieben:Quäle mich derzeit noch mit ner starken Erkältung rum, deshalb nur kurz.
Interessant, nur den Datums- und den Zeit-Teil voneinander trennen.Ich sagte ja schon das die Sache mit der Datumsformatierung nicht so einfach ist. Aber warum nicht ganz einfach so rum?Code: Alles auswählen
sCSVzusatz = Format(Now(), "yyyy-mm-dd") & "_" & Format(Now(), "hh-mm-ss")
Grad getestet. Über die MsgBox wird es korrekt formatiert ausgegeben.
Ja, das meinte ich, dass das nicht in Ordnung sein kann. Ich habe nicht rausgefunden, warum. Aber bei yyyymmdd-hhmmss oder der Formatierung von Balu wird ja die korrekte Zeit, incl. führender Nullen, angezeigt.Vier hat geschrieben:dass wir uns im Jahr 1905 befinden
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
-
- *****
- Beiträge: 284
- Registriert: Mo, 10.05.2010 11:17
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo in die Runde,
kurze Rückmeldung: letzte Version von Balu läuft bisher einwandfrei und in makelloser Form.
Bei dem Probe-lauf in Calc mit der Form mit Leerzeichen wird beim Datum nur der Monat korrekt angezeigt, da hast du ja schon gesagt, dass das nicht läuft.
Hier noch mal für zukünftige Generationen der gesammt Code:
Muss jetzt noch duch die reale Praxis mit echten KTOs und IBANs + Import in Starmoney auf dem Rechner der Kollegin, dann mach ich Abschluss-Raport + anschließend den Abspann mit großer Lobhudelei und Auflistung aller Beteiligten.
Schöne Grüße, vierviervier.
kurze Rückmeldung: letzte Version von Balu läuft bisher einwandfrei und in makelloser Form.
Bei dem Probe-lauf in Calc mit der Form mit Leerzeichen wird beim Datum nur der Monat korrekt angezeigt, da hast du ja schon gesagt, dass das nicht läuft.
Hier noch mal für zukünftige Generationen der gesammt Code:
Code: Alles auswählen
REM Variablen deklaration.
Dim oDok as Object
Dim oExport as Object, oExternExportCSV as Object, oExterneCSV as Object
Dim aExtDatArray()
Dim sErmittlungsBlatt as String, sDatenBereich as String
Dim myFPq(0) as New com.sun.star.beans.PropertyValue
Dim myProps(1) as New com.sun.star.beans.PropertyValue
'
'##############################################################################################################
'
Sub ErzeugeExportDaten
REM Tabellenblatt Variablennamen definition.
oDok = ThisComponent
oExport = oDok.getSheets().getByName("Export")
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
REM Neue und leere Datei versteckt erstellen, die dann als CSV gespeichert wird.
'
myFPq(0).name = "Hidden"
myFPq(0).Value = True ' REM wenn man diese versteckte Datei sehen will, einfach True durch False ersetzen.
oExterneCSV = starDesktop.loadComponentfromURL("private:factory/scalc", "_blank", 0, myFPq())
oExternExportCSV = oExterneCSV.sheets(0)
'--------------------------------------------------------------------------------
' Die Daten vom Blatt *Export* in die neue, leere und versteckte Datei kopieren.
'
sErmittlungsBlatt = oExport.name
Benutzter_Datenbereich REM Aufruf der Sub.
aExtDatArray = oExport.getCellRangeByName( sDatenBereich ).getDataArray REM Datenbereich einlesen (kopieren).
oExternExportCSV.getCellRangeByName( sDatenBereich ).setDataArray(aExtDatArray) REM Datenbereich einfügen.
'--------------------------------------------------------------------------------
Externe_CSV_speichern REM Aufruf der Sub.
'--------------------------------------------------------------------------------
MsgBox("Ihre Datensätze wurden als CSV-Datei gepeichert." & Chr(13) & "Ihr Computer wünscht Ihnen noch einen schönen Tag.")
End Sub
'
'##############################################################################################################
'
Sub Externe_CSV_speichern
Dim sPfad as String
Dim sCSVname as String
Dim sCSVzusatz as String
Dim sSpeicherString as String
Dim DatumZeit as Date
sPfad = "file:///T:/DOW_Arbeit/Listen_sonstige/Listen_CSV/" REM Den Speicherpfad vorgeben
sCSVname = "EXPORT_IBAN_" REM Das ist der Vorname der CSV-Datei. Der Nachname wird bei sCSVzusatz erstellt.
DatumZeit = Now()
sCSVzusatz = Format(Now(), "yyyy-mm-dd") & "_" & Format(Now(), "hh-mm-ss") & ".csv"
'--------------------------------------------------------------------------------
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value = "59,34,ANSI,1,,0,false,true,true,false"
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sSpeicherString = sPfad & sCSVname & sCSVzusatz REM Nun wird der Vor- und Nachname der CSV zusammen geschrieben.
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' CSV-Datei speichern und schließen.
oExterneCSV.storeAsURL(sSpeicherString, myProps()) REM Die CSV wird gespeichert
oExterneCSV.close(True) REM Die CSV wird geschlossen.
End Sub
'
'##############################################################################################################
'
Sub Benutzter_Datenbereich
Rem Hier wird der benutzte Datenbereich eines Blattes ermittelt, und in der Stringvariable sDatenBereich zurückgegeben.
oSheet = ThisComponent.getSheets().getByName( sErmittlungsBlatt )
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
sDatenBereich = REPLACE(oCellCursor.AbsoluteName, "$" & oSheet.Name & ".", "")
End Sub
Muss jetzt noch duch die reale Praxis mit echten KTOs und IBANs + Import in Starmoney auf dem Rechner der Kollegin, dann mach ich Abschluss-Raport + anschließend den Abspann mit großer Lobhudelei und Auflistung aller Beteiligten.
Schöne Grüße, vierviervier.
Windows 10
AOO 4.1.1 LO 6.0.7.3
AOO 4.1.1 LO 6.0.7.3
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo
Vermutlich weil das grundsätzlich kaputt ist, und ein `mm` im Formatstring eben nicht zweifelsfrei als Monats- oder Minutenanzeige zu interpretieren ist. damit ist dann auch folgendes möglich:Ich habe nicht rausgefunden, warum.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Danke für die Info, Karolus.
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo
Das wäre im Prinzip alles:
Das wäre im Prinzip alles:
Code: Alles auswählen
import csv
from csv import QUOTE_ALL, QUOTE_MINIMAL
from datetime import datetime as dt
def export_csv(*args):
spath= dt.strftime(dt.now(),"T:/DOW_Arbeit/Listen_sonstige/"
"Listen_CSV/EXPORT_IBAN_"
"%Y-%m-%d_%H-%M-%S.csv")
#edit Doppelpunkte in der Zeit gegen minus getauscht
#spath = 'test_csv.csv'
doc = XSCRIPTCONTEXT.getDocument()
export_sheet = doc.Sheets.getByName("Tabelle1")
cursor = export_sheet.createCursor()
cursor.gotoEndOfUsedArea(True)
with open(spath, 'w')as csvfile:
writer = csv.writer(csvfile,
delimiter=';',
quotechar='"',
quoting=QUOTE_ALL )
#↓↓ blöder Hack weil .FormulaArray die `echten` Formeln zurückgibt,
#↓↓ und .DataArray **alle** numerischen Daten als Float mit Dezimal**punkt**
for r in range(cursor.Rows.Count):
writer.writerow([cursor.getCellByPosition(c, r).String
for c in range(cursor.Columns.Count)])
Zuletzt geändert von Karolus am Mi, 21.10.2015 17:49, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Aber einen Doppelpunkt in den Dateinamen einzubauen ist ne blöde Idee.Karolus hat geschrieben:Code: Alles auswählen
[...]spath= dt.strftime(dt.now(),"T:/DOW_Arbeit/Listen_sonstige/" "Listen_CSV/EXPORT_IBAN_" "%Y-%m-%d_%H:%M:%S.csv")
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo
Werde ich trotzdem ändern, danke für den Hinweis!
Karolus
Stimmt, da hab ich nicht so genau hingeschaut und die übliche Zeitanzeige-konvention genommen - tuts aber ohne meckern auf einem Linuxsystem.Aber einen Doppelpunkt in den Dateinamen einzubauen ist ne blöde Idee.
Werde ich trotzdem ändern, danke für den Hinweis!
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- *****
- Beiträge: 284
- Registriert: Mo, 10.05.2010 11:17
Re: Formeln sollen nur unter Bedingungen in einem Feld sein.
Hallo in die Runde,
kurze Rückmeldung von der Kollegin: IBANs und KTOs wurden in CSV übertragen und von Starmoney importiert, der erste vollautomatisierte Sammler ist durch!!!
Will in absehbarer Zeit auf windows10 umsteigen, das ändert nichts an der Beschreibung des Dateipfades, oder?
Schon merkwürdig, wenn dann alles läuft, sich noch mal zu erinnern, was das für ein Kraftaufwand war und wie viele Leute da größere und kleinere Beiträge dazu geleistet haben.
Deswegen pack ich jetzt wieder meinen virtuellen Champagner aus (gut gekühlt versteht sich) und verteile Gläßer an:
Clag: ohne Deine Hilfe mit den Formeln zum automatisierten anzeigen der aktuellen Datensätze wäre der Versuch ein Makro für den Export zu entwerfen gar nicht möglich gewesen. Sorry, dass ich dann den Weg über die Makro-Aufzeichnung nicht weiter gegangen bin. Es war einfach überzeugend das ganze über den programmierten Code laufen zu lassen, einmal dass die Stabilität noch größer ist (sonst Gefahr, dass mal ein Häkchen anders gesetzt ist und dann das Makro falsch greift) zum anderen hat man noch mehr Gestaltungsmöglichkeiten (Dateinamen) und man kann besser auf Versions-Änderungen auf irgendeiner Ebene reagieren mit kleinen Änderungen im code. Trotzdem hast du mich dadurch mit den Fromular-Steuerelementen in Kontakt gebracht, das war allein schon eine echte Erweiterung für mich. Also vielen Dank noch mal.
Balu: hab mich ja lange gestreubt, mich auf den Weg einzulassen, aber hat sich letztendlich gelohnt und bin jetzt glücklich über 1. die bombenfeste und schlanke Lösung, die auch wirklich meinen pubsigsten Wunsch noch berücksichtigt und 2. meinen ersten ernsthaften Kontakt mit dem Makroschreiben bewirkt hat. Ist zwar alles noch sehr rudimentär (und was Karolus zuletzt wieder vorschlägt ist dann auch wieder jenseits meiner Verständnismöglichkeiten, da mach ich jetzt mal Verschnaufpause, die letzte Version von Balu ist ja perfekt und noch für mich nachvollziehbar), aber jetzt habe ich Zugang und das weiterkommen hängt jetzt von mir ab (und der Zeit die ich habe).
Aber ohne Deine Hilfe hätte meine Kollegin mindestens noch ein Jahr auf die Erleichterung warten können (wenn sie sie überhaupt bekommen hätte). Also großes Dankeschön, auch für die Geduld mit meinen Anfängerproblemen und -fragen, du bis der Vater des Erfolges dieses Themas!
Vielen Dank auch für die Beiträge von Stephan, Karolus und TrueColor und alle anderen, war immer wieder richtig aufbauend, wenn man festgesteckt hat und wieder kommt eine Antwort und es geht weiter.
Ok, das soll genügen, eine Seite 6 im Jahr des Herrn 2015 mag ich nicht verantworten, das geht dann auf deine Kappe, Karolus.
Prost, vierviervier.
kurze Rückmeldung von der Kollegin: IBANs und KTOs wurden in CSV übertragen und von Starmoney importiert, der erste vollautomatisierte Sammler ist durch!!!
Will in absehbarer Zeit auf windows10 umsteigen, das ändert nichts an der Beschreibung des Dateipfades, oder?
Schon merkwürdig, wenn dann alles läuft, sich noch mal zu erinnern, was das für ein Kraftaufwand war und wie viele Leute da größere und kleinere Beiträge dazu geleistet haben.
Deswegen pack ich jetzt wieder meinen virtuellen Champagner aus (gut gekühlt versteht sich) und verteile Gläßer an:
Clag: ohne Deine Hilfe mit den Formeln zum automatisierten anzeigen der aktuellen Datensätze wäre der Versuch ein Makro für den Export zu entwerfen gar nicht möglich gewesen. Sorry, dass ich dann den Weg über die Makro-Aufzeichnung nicht weiter gegangen bin. Es war einfach überzeugend das ganze über den programmierten Code laufen zu lassen, einmal dass die Stabilität noch größer ist (sonst Gefahr, dass mal ein Häkchen anders gesetzt ist und dann das Makro falsch greift) zum anderen hat man noch mehr Gestaltungsmöglichkeiten (Dateinamen) und man kann besser auf Versions-Änderungen auf irgendeiner Ebene reagieren mit kleinen Änderungen im code. Trotzdem hast du mich dadurch mit den Fromular-Steuerelementen in Kontakt gebracht, das war allein schon eine echte Erweiterung für mich. Also vielen Dank noch mal.
Balu: hab mich ja lange gestreubt, mich auf den Weg einzulassen, aber hat sich letztendlich gelohnt und bin jetzt glücklich über 1. die bombenfeste und schlanke Lösung, die auch wirklich meinen pubsigsten Wunsch noch berücksichtigt und 2. meinen ersten ernsthaften Kontakt mit dem Makroschreiben bewirkt hat. Ist zwar alles noch sehr rudimentär (und was Karolus zuletzt wieder vorschlägt ist dann auch wieder jenseits meiner Verständnismöglichkeiten, da mach ich jetzt mal Verschnaufpause, die letzte Version von Balu ist ja perfekt und noch für mich nachvollziehbar), aber jetzt habe ich Zugang und das weiterkommen hängt jetzt von mir ab (und der Zeit die ich habe).
Aber ohne Deine Hilfe hätte meine Kollegin mindestens noch ein Jahr auf die Erleichterung warten können (wenn sie sie überhaupt bekommen hätte). Also großes Dankeschön, auch für die Geduld mit meinen Anfängerproblemen und -fragen, du bis der Vater des Erfolges dieses Themas!
Vielen Dank auch für die Beiträge von Stephan, Karolus und TrueColor und alle anderen, war immer wieder richtig aufbauend, wenn man festgesteckt hat und wieder kommt eine Antwort und es geht weiter.
Ok, das soll genügen, eine Seite 6 im Jahr des Herrn 2015 mag ich nicht verantworten, das geht dann auf deine Kappe, Karolus.
Prost, vierviervier.
Windows 10
AOO 4.1.1 LO 6.0.7.3
AOO 4.1.1 LO 6.0.7.3