Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Moderator: Moderatoren
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
hallo pennylane2
also machbar ist da bestimmt etwas per Makro, so ganz schnell gemacht ist das nicht.
Aber wo kommt denn die große Datenmenge her?
Die scheint doch schon in irgendeiner Form zu existent zu sein, da bietet sich doch eher ein Import an.
In welchem Format liegen denn die Rohdaten vor?
also machbar ist da bestimmt etwas per Makro, so ganz schnell gemacht ist das nicht.
Aber wo kommt denn die große Datenmenge her?
Die scheint doch schon in irgendeiner Form zu existent zu sein, da bietet sich doch eher ein Import an.
In welchem Format liegen denn die Rohdaten vor?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
das geht in OO auch ohne Makro indem Du vorher den Eingabereich markierst und beim 'Aufziehen' der Markierung darauf achtest das die aktive Zelle (die mit dem Marklierungsrahmen) die linke obere Zelle des gewünschten Bereichs ist. Danach tippe jeweils die Eingabewerte und drücke zum Springen in die nächste Zell TAB-Taste, Calc erkennnt automatiosvch wann esnötig ist auch in die nächste Zeile zu springen.Es gilt, einstellige ganzzahlige Werte <5 einzugeben und zwar in Fünferblöcken. Das soll so aussehen, dass die Zellen A2-B2-C2-D2-E2 mit jeweils einem Wert befüllt werden sollen, dann A3-B3-C3-D3-E3 usw. Zeile 1 ist Überschriftszeile der Spalten.
Nur mal als Hinweis:Zwei Automatisierungswünsche habe ich für die Datenerfassung:
1. Eine korrekte, über Gültigkeit definierte einstellige Eingabe sollte automatisch den Sprung in die Nachbarspalte derselben Zeile bewirken: Ich gebe bspw. eine 3 in Zelle A1, CALC springt in B1 usw.
2. Eine Eingabe in der 5. Spalte, also E sollte dann einen Sprung in die erste Spalte der folgenden Zeile bewirken, also von E2 nach A3, später von E3 nach A4 usw.
Muss das wirklich per Makro sein? Werum erstellst Du die gewünschten 5-stelligen Zahlen(*) nicht in Writer und kopierst sie dann nach calc, hierbei kannst Du sie mit der Einstellung "feste Breite" automatisch auf Zellen aufteilen. Also in Writer einbe 5-stellige Zahl pro Absatz und dann den kompletten Dokumentinhalt auf einmal nach Callc kopieren (Bearbeiten-Inhalte einfügen-unformatierte Text) und im Einfügen-Dialog die feste Breite auf ein Zeichen einstellen.
(*)ich bin mir bewusst das das strenggenommen nicht stimmt, denn Deine Angaben liessen ja auch Zahlen wie -4 als zulässig erscheinen, ich glaube jedoch du meinst trotzden nur die Zahlen 0, 1, 2, 3, 4.
Wenn es ein Makro sein muss, erweist es nicht so ganz trivial, denn ich probiere jetzt seit einer Stunde und kriege das nicht richtig ans Laufen, vielleicht schafft das ja jemand Anderes.
Ein prinzipielles Codebeispiel ist hier:
http://www.oooforum.org/forum/viewtopic ... highlight=
Gruß
Stephan
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Nein, TAB ist völlig unnötig.Damit müsste zwar nach jedem Fünferpäckchen ein TAB gedrückt werden
Du sollst in Writer jede 5er-Gruppe in einen Absatz schreiben, also z.b.:
12340
11201
32133
22143
44213
Eingabe also z.B. für erste Gruppe:
<1><2><3><4><0><ENTER>
wenn dann alles in Writer steht, mit STRG+A und STRG+C kopieren und mit Bearbeiten-Inhalte einfügen-unformatierter Text in Calc einfügen.
Gruß
Stephan
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Wie wäre es denn wenn du liest was ich schreibe?Zum einen fehlt mir beim Import nach CALC die Trennoption innerhalb der 5er-Reihe, dh. ich bekomme 42211 in eine Zelle kopiert, brauche aber jeden Wert in einer eigenen Zelle.
Ich schrieb bereits:
Warum erstellst Du die gewünschten 5-stelligen Zahlen nicht in Writer und kopierst sie dann nach calc, hierbei kannst Du sie mit der Einstellung "feste Breite" automatisch auf Zellen aufteilen.
Denn es ist natürlich problemlos möglich die einzelnen Zahlen/Ziffern der 5er-Gruppen automatisch auf jeweils 5 nebeneinander liegende Zellen verteilen zu lassen.
Ebenso ist es möglich die 5er-Gruppen erst jeweils zusammenhängend in eine Zelle (pro Zeile) einzufügen und nachfolgend mittels Daten-Text in Spalten... auf jeweils 5 Zellen aufzuteilen, wieder unter Nutzung der Einstellung einer festen Breite von einer Ziffer, im Dialog.
Wichtig ist zudem, dass ich bei direkter Eingabe in CALC die Möglichkeit habe, fehlerhafte Eingaben vermeiden zu können über die Gültigkeitsdefinition.
Ist es zwingend das das über die Gültigkeitdefinition erfolgt?
Auf jeden Fall hilft er mir persönlich nicht weiter wenn die Prüfung in Calc über Daten-Gültigkeit erfolgen muss, vielleicht wissen ja Andere hier im Forum zu diesem Problem mehr als ich.Der Code, den ich da gefunden habe, hilft nicht weiter ?
(Falls die Prüfung auf Richtigkeit nicht über Daten-Gültigkeit erfolgen muß, sondern im Makro erfolgen kann, läge die Sache wohl etwas anders, aber man sollte sich damit der Aufwand in Grenzen bleibt auf einen bestimmten, konkreten Zellbereich beschränken, die Größe ist eigentlich egal (meinethalben A2:E10000), nur sollte der Bereich vorher feststehen.)
Gruß
Stephan
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hallo
Gib in Calc ein
42356enter-taste
28945enter-taste
usw.
hinterher markiere die Spalte und gehe zu →Daten→Text in Spalten
mit Option [x]feste Breite
und setze die 4 Trenner unten in der Vorschau
Karolus
Gib in Calc ein
42356enter-taste
28945enter-taste
usw.
hinterher markiere die Spalte und gehe zu →Daten→Text in Spalten
mit Option [x]feste Breite
und setze die 4 Trenner unten in der Vorschau
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)
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Nun,
ich habe das mal per Dialog gelöst:
Diese drei kleinen Makros erledigen die Arbeit:
Anbei die Beispieldatei, in der der Dialog definiert ist.
Gruß R
ich habe das mal per Dialog gelöst:
Diese drei kleinen Makros erledigen die Arbeit:
Code: Alles auswählen
REM ***** BASIC *****
global otxtrow
global oStartcell
global ncounter
Sub S_init_dlg
oStartcell = thiscomponent.currentselection
ncounter = 0
DialogLibraries.LoadLibrary("Standard")
odlgrow = CreateUnoDialog(DialogLibraries.Standard.dlgrow)
otxtrow = odlgrow.getControl("txtrow")
odlgrow.execute
odlgrow.Dispose()
End Sub
Sub S_on_text_changed
stext = otxtrow.Text
if len(stext) = 5 then
acrow = aRow(sText)
ocelladdress = ostartcell.celladdress
nrow = ocelladdress.row + ncounter
ncolumn = ocelladdress.column
nsheet = ocelladdress.sheet
osheet = thiscomponent.sheets(nsheet)
for i = 0 to 4
ocell = osheet.getcellbyposition(ncolumn + i,nrow)
ocell.value = acrow(i)
next i
ncounter = ncounter + 1
otxtrow.Text = ""
endif
End Sub
function aRow(srow)
dim nRow(4) as integer
for i = 1 to 5
nRow(i-1) = mid(srow,i,1)
next i
arow = nRow
end function
- Startzelle anklicken
- Button klicken
- einstellige Zahlen ohne Pause hintereinander eingeben ...
Gruß R
- Dateianhänge
-
- easy_fill_five_cells.ods
- (10.05 KiB) 137-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
hallo pennylane2,
habe aus hier etwas zusammengebaut
was deine Anforderungen großteils erfüllt
das drücken der Entertaste ist aber nicht störend finde ich,
wenn man die Zahlen mit links eintippt und mit rechts die Entertaste bedient
der Rest ist dann wie gewünscht
und zu beginn den "listener" starten
habe aus hier etwas zusammengebaut
was deine Anforderungen großteils erfüllt
das drücken der Entertaste ist aber nicht störend finde ich,
wenn man die Zahlen mit links eintippt und mit rechts die Entertaste bedient
der Rest ist dann wie gewünscht

und zu beginn den "listener" starten

LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
So,
hier nun die Version mit Gültigkeitsprüfung, umschaltbar auf sechs Zahlen.
EDIT: Fehlerhafte Datei gelöscht
Gruß R
hier nun die Version mit Gültigkeitsprüfung, umschaltbar auf sechs Zahlen.
EDIT: Fehlerhafte Datei gelöscht
Gruß R
Zuletzt geändert von F3K Total am Sa, 21.09.2013 22:07, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Ups,
da habe ich wohl zu speichern vergessen, hier die 5-oder 6-Zahlen Version nochmal richtig.
EDIT Datei gelöscht -> finale Version steht weiter unten
Gruß R
da habe ich wohl zu speichern vergessen, hier die 5-oder 6-Zahlen Version nochmal richtig.
EDIT Datei gelöscht -> finale Version steht weiter unten
Gruß R
Zuletzt geändert von F3K Total am So, 22.09.2013 13:35, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hallo Leute,
man-oh-man! Was is denn hier Los? Findet hier etwa "die heiße Schlacht am kalten Buffet" statt?
Okay, dann möchte ich meine Version auch mal vorstellen.
Zahlen gößer 4 werden nicht akzeptiert, und Buchstaben und Sonderzeichen werden auch nicht angenommen.
Umschalten zwischen 5 oder 6 Zahlen ist auch möglich.
Momentan werden die Zahlen ab A2 eingetragen. Falls das nicht gewünscht, dann bitte sagen.
Wenn eine Falscheingabe statt gefunden hat, so wird das unübersehbar angezeigt. Durch klick auf OK kann man dann den Fehler korrigieren.
Leider bin ich nicht der schnellste, denn sonst hätte ich schon früher mitgemischt
.
Der Code ist leider auch nicht der schönste und beste, aber es funktioniert alles, falls ich nicht etwas übersehen habe.
Gruß
balu
man-oh-man! Was is denn hier Los? Findet hier etwa "die heiße Schlacht am kalten Buffet" statt?

Okay, dann möchte ich meine Version auch mal vorstellen.
Zahlen gößer 4 werden nicht akzeptiert, und Buchstaben und Sonderzeichen werden auch nicht angenommen.
Umschalten zwischen 5 oder 6 Zahlen ist auch möglich.
Momentan werden die Zahlen ab A2 eingetragen. Falls das nicht gewünscht, dann bitte sagen.
Wenn eine Falscheingabe statt gefunden hat, so wird das unübersehbar angezeigt. Durch klick auf OK kann man dann den Fehler korrigieren.
Leider bin ich nicht der schnellste, denn sonst hätte ich schon früher mitgemischt

Der Code ist leider auch nicht der schönste und beste, aber es funktioniert alles, falls ich nicht etwas übersehen habe.
Gruß
balu
- Dateianhänge
-
- Maximal_5-or-6_Zahlen.ods
- (12.51 KiB) 90-mal heruntergeladen
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: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hallo Balu,
dankeschön!
Wir sind ja nahezu auf die gleiche Lösung gekommen.
Dein zweiseitiger Dialog für die Fehlermeldung ist Klasse!
Da fliegt keine Messagebox unmotiviert herum.
Da ich so einen mehrseitigen Dialog noch nie erstellt habe, habe ich mich gleich mal dran probiert.
Anbei das Ergebnis.
Gruß R
EDIT Datei nochmal getauscht, irgendwie habe ich heute Probleme mit dem Speichern, so hatte ich es gedacht:
dankeschön!
Wir sind ja nahezu auf die gleiche Lösung gekommen.
Dein zweiseitiger Dialog für die Fehlermeldung ist Klasse!

Da ich so einen mehrseitigen Dialog noch nie erstellt habe, habe ich mich gleich mal dran probiert.
Anbei das Ergebnis.
Gruß R
EDIT Datei nochmal getauscht, irgendwie habe ich heute Probleme mit dem Speichern, so hatte ich es gedacht:
- Dateianhänge
-
- easy_fill_five_six_cells.ods
- Messagebox gegen mehrseitigen Dialog getauscht
- (10.61 KiB) 99-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hallo R,

Ich hatte einen Knoten im Hirn, weil ich nicht wusste wie ich die Überprüfung auf ungleich Zahlen und größer 4 bewerkstelligen sollte *grrrrrrr*. Und dadurch ist das Dialog-Layout in den Hintergrund getreten -{Ich werde jetzt aber auch nix mehr dran ändern}-.
Ich finde aber doch das wir das bis jetzt sehr gut gemacht haben. *Daumen-hoch*
.
Hast Du aber auch gut hinbekommen.
[OT]
So'n kleines Battle sollte man ruhig öfters machen
.
[/OT]
Gruß
balu
Na Du hast aber Problemeirgendwie habe ich heute Probleme mit dem Speichern

Ich hatte einen Knoten im Hirn, weil ich nicht wusste wie ich die Überprüfung auf ungleich Zahlen und größer 4 bewerkstelligen sollte *grrrrrrr*. Und dadurch ist das Dialog-Layout in den Hintergrund getreten -{Ich werde jetzt aber auch nix mehr dran ändern}-.
Gern geschehn!dankeschön!
So war wohl nicht die Vorgabe, aber ich fand "unsere" Idee irgendwie am effizientesten. Und dennoch, so auf den ersten Blick ähnlich, aber doch sehr unterschiedlich. Seis der Dialog, oder der Code.Wir sind ja nahezu auf die gleiche Lösung gekommen.
Ich finde aber doch das wir das bis jetzt sehr gut gemacht haben. *Daumen-hoch*
Viel kann man am lebenden Objekt lernen. Oder anders gesagt; durch eine Vorgabe wird man ganz anders motiviertDa ich so einen mehrseitigen Dialog noch nie erstellt habe, habe ich mich gleich mal dran probiert.

Hast Du aber auch gut hinbekommen.
[OT]
So'n kleines Battle sollte man ruhig öfters machen

[/OT]
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: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hallo penny,

Vielleicht meldet sich ja noch jemand der dir genau erklärt wie man im Dialog Änderungen vornimmt. Ich mache jetzt auf jeden Fall gleich Feierabend. Haia-Bettchen ruft mich.
Ich hoffe das die Datei bei dir technisch fehlerfrei funktioniert.
Gruß
balu
Ich sage mal für meinen Teil: Danke schönUnd ihr zwei, F3K und balu, ihr zaubert mir da exakt das hin, was ich mir erträumt hatte

Für einen Anfänger in der Programmierung ist das für den Anfang etwas verwirrend. Und aus diesem Grunde habe ich mich mal mit http://translate.google.de/ auseinander gesetzt, und versucht das ganze für dich zu erledigen. Wenn es irgendwo nicht so recht passt, dann sag bitte schön was wo geändert werden müsste.Kann ich unfallfrei den Text der Buttons und der Falscheingabemeldungen ändern oder muss ich das auch von euch machen lassen ?
Vielleicht meldet sich ja noch jemand der dir genau erklärt wie man im Dialog Änderungen vornimmt. Ich mache jetzt auf jeden Fall gleich Feierabend. Haia-Bettchen ruft mich.
Nun hab ich es doch noch ein wenig geändert.balu hat geschrieben: Und dadurch ist das Dialog-Layout in den Hintergrund getreten -{Ich werde jetzt aber auch nix mehr dran ändern}-.
Ich hoffe das die Datei bei dir technisch fehlerfrei funktioniert.
Gruß
balu
- Dateianhänge
-
- Maximal_5-or-6_Zahlen_v2.ods
- (13.05 KiB) 116-mal heruntergeladen
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: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Moin,
Klar, kannst Du machen, wenn Du Probleme hast, melde Dich.
Gruß R
Balu hat es schon, für meinen Teil:pennylane2 hat geschrieben:Kann ich unfallfrei den Text der Buttons und der Falscheingabemeldungen ändern oder muss ich das auch von euch machen lassen ?
Klar, kannst Du machen, wenn Du Probleme hast, melde Dich.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Makro zur Vereinfachung von Datenerfassung ? (OO 4.0.0)
Hi,
bin doch noch mal drangewesen, weil mir noch zwei, drei kleine Verbesserungen eingefallen sind:
Gruß R
bin doch noch mal drangewesen, weil mir noch zwei, drei kleine Verbesserungen eingefallen sind:
- feststehende Kopfzeile
- große Schrift im Dialog, für den Vorlesenden zum mitgucken
- Cursor springt mit, man sieht die aktuelle Zeile
Gruß R
Zuletzt geändert von F3K Total am So, 22.09.2013 13:34, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO