Steuerelement via Makro verschieben

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: Steuerelement via Makro verschieben

Re: Steuerelement via Makro verschieben

von azd » Do, 25.06.2009 18:16

Hey!
Ja dieses mottco Dingen...
Also dafür nen extra Topic im entsprechenden Unterforum "Calc"?

Und zu deiner Frage..
Wochenende, ab und an ja..
Feiertage äusserst selten (erst einmal vorgekommen in 3 Jahren)..
Von der Lohn-Verrechnung macht das aber keinen Unterschied, es wird dann nur direkt als Überstunden gezählt und wie die vergütet werden, ist ja vom Arbeitsvertrag abhängig...

Gruß,
Seb

Re: Steuerelement via Makro verschieben

von balu » Mi, 24.06.2009 23:13

Hallo Seb,
Danke für den Tipp und dem entsprechenden Forenverweis, ist dank dem Beispiel gar nicht mal so schwer.
Freut mich zu hören :D.
... wobei ich auf die Formeln bezüglich der Spalte "Dienst" schon echt stolz auf mich war
Ganz ehrlich gesagt, ich find es interessant wie die Formel aufgebaut ist. Besonders interessant fand ich diesen Teil.

Code: Alles auswählen

=WENN(($T3=$Z$4)ODER($T3=$Z$5);...
So habe ich noch nie einen ODER-Vergleich aufgebaut. Öfters mal was neues :D. Du darfst auch ruhig stolz auf dich sein.
Ich find das sowieso bescheuert, dass die Formatvorlagen nur auf 3 begrenzt sind ...
Damit bist Du nicht alleine. Aber es gibt ja, wie schon erwähnt, die Extension "mottco". Und je nach Anforderung kann man ja auch noch auf =VORLAGE() zugreifen. Aber das ist ein Thema für sich selbst.
Die Spalte "Dienst" selbst brauch an und für sich nicht die selbe Formatierung haben ...
Gut zu wissen.

Ich hab da noch ein Frage.
Arbeitet ihr auch an Feiertagen und am Wochenende?


Gruß
balu

Re: Steuerelement via Makro verschieben

von azd » Mi, 24.06.2009 18:50

Hiho!
Danke für den Tipp und dem entsprechenden Forenverweis, ist dank dem Beispiel gar nicht mal so schwer..
Muss es Makro sein, oder könntest Du dir auch eine alternative vorstellen?
Nein keineswegs.. Wichtig ist, was am Ende dabei rauskommt, nicht wie es ermöglicht wird :D

Formatvorlagen sind ja im Moment sowieso kaum da, wobei ich auf die Formeln bezüglich der Spalte "Dienst" schon echt stolz auf mich war :D
(Naja jeder fängt klein an ;) )
Ich find das sowieso bescheuert, dass die Formatvorlagen nur auf 3 begrenzt sind und dachte durch die einfach "IF,THEN" Formel, wäre dem Genüge getan.

Die Spalte "Dienst" selbst brauch an und für sich nicht die selbe Formatierung haben, sie würde dann gesondert laufen, mal sehen...

Ich tüftel mich erstmal ein wenig in die Rahmenformatierung ein.. Damit ich wenigstens mal nen vernünftigen Rohentwurf habe, und keine Rahmen mehr über Spalten laufen ;)
Sollte das ganze auch einiges Übersichtlicher gestalten.

Vielen Dank und liebe Grüße,
Seb

Re: Steuerelement via Makro verschieben

von balu » Mi, 24.06.2009 14:39

Hallo Leute,

ich bin mal so frei, und klinke mich hier mit ein, auch wenn ich nicht wirklich was zum eigentlichen Thema beitragen kann. Ist doch gestattet?

@Jürgen
Geil, Genial! Find ich echt klasse, was Du da mal wieder geleistet hast :D.


@Seb
Leider weiß ich nicht, wie ich das mit einem ewigen Kalender ausrüsten kann.
Ist nicht schwer, und Anleitungen dazu findest Du hier im Calc-Forum. Von einfach und easy, bis hin zu komplexer und umfangreicher. Und für dich könnte schon durchaus das Beispiel hier reichen, in dem für jeden Monat ein Blatt angelegt wird.
Ebenso sehe ich relativ viel Arbeitsaufwand darin, jeden Monat in einer separaten Tabelle zu schreiben, da ich dann ja jedesmal die Variablen, Indizes etc. anpassen muss, mal von der Erstellung und der Formatierung der Tabelle ganz zu schweigen.
Das erstellen und Formatieren machst Du dann nur einmal, und kopierst dann einfach das erstellte Blatt, steht auch in dem Link.
Wenn Du jetzt mit "Variablen, Indizes etc. anpassen" das Makro meinst, nun, da kann dir bestimmt dann wiederum z.B. Jürgen helfen :wink:. Sollte sich das jedoch aber auf deine Formeln beziehen, nun, da kann ich dir dann z.B. wiederum weiterhelfen. Jedoch würde ich das Thema dann aber in das geeignetere Forum auslagern.
Die Wochenenden farbig darstellen, hatte ich auch noch vor, kriege aber diese bescheuerte einfache Bedingung ned im Makro unter...
Muss es Makro sein, oder könntest Du dir auch eine alternative vorstellen?

Ich könnt dir eine Formellösung vorschlagen, die jedoch ein Paar kleinere Nachteile hat.
1.
Deine bestehenden Formatvorlagen müssten noch um ein paar zusätzliche erweitert werden. Weil dann nämlich die Zellen mit Zeitangaben eine andere Vorlage brauchen, als die mit Datum, Zahlen, oder aber Text. Hört sich schlimmer an, als es ist. Der Vorteil dabei wäre aber jedoch, dass Du mehr als nur 3 Bedingte Formatierungen anwenden kannst. Dies würde über die Funktion =VORLAGE() geschehen.

2.
Die Spalte "Dienst" kann nicht per Formel formatiert werden, zumindest nach meinen bisherigen versuchen. Diese Spalte würde dann also nicht das gleiche aussehen (Hintergrund) haben, wie die anderen Zellen in der gleichen Zeile.


Ich möchte jetzt noch mal eben eine Beobachtung mitteilen.
Wenn ich in der Beispieldatei die Extension "mottco" aufrufe, dann bricht mottco mit einer Fehlermeldung beim einlesen der Formatierungen ab, und nix ist mehr mit weiterarbeiten.
BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message:.
Man kann dann wohl noch das automatisch geöffnete Makro-Editor Fenster schließen, aber das Statusfenster von mottco läßt sich nicht schließen. OOO muss dann komplett geschlossen werden. Und es spielt dabei keine rolle, ob der Blattschutz per Passwort aktiv ist, oder nicht. Und selbst zusätzlich bei der eingabe des Passwortes für die "Lib_Secu" geschieht das gleiche.

Warum ich das erwähne?
Weil ich eigentlich mit mottco noch eine alternative zu der OOo eigenen Bedingten Formatierung für die aktuelle Beispieldatei präsentieren wollte. Was aber jetzt wohl doch scheitert.


Gruß
balu

Re: Steuerelement via Makro verschieben

von azd » Di, 23.06.2009 20:23

Hallo Jürgen,
Also wenn ich Chef wäre, dann gäbe es ein elektronisches Zeiterfassungssytem mit Magnetkarten, anstelle dieser Datei
.. Naja, da gebe ich dir voll und ganz recht, aber wir sind derzeit 4 Leute (Chef, 2 gesellen, 1Prakti der bald die Lehre beginnt) und mein Chef hat als Jungunternehmer weder Zeit noch Geld ein solches System zu entwerfen.
Wir sind als Elektroniker oft auf Baustellen unterwegs, die teilweise etwas weiter weg vom Firmenstandort sind und da wir von dort im günstigen Falle direkt nach Hause fahren, wäre es manchmal eher umständlich vorher abzustempeln...
(Ganz ehrlich: ich versuche schon seit langen meinen Chef davon zu überzeugen, aber naja...)
Meine Mitarbeiter sollten produktiv arbeiten, anstatt in einer Tabelle stundenlang unproduktiv rumzuklicken. Das können manche Leute ganz gut.
Genau dieses unproduktive soll ja dadurch vermieden werden. Bisher war es so, dass die Stundenzettel per Hand geschrieben werden (zu Hause, ausserhalb der arbeitszeit). Leider ist in dem ganzen Zeiterfassungsapparat kein System drin, warum ich das hier ja mache...
Also erstmal soll das nur zur Erleichterung der Mitarbeiter dienen und nebenbei meinen Chef überzeugen, dass man mit OOo mindestens so tolle Dinge machen kann, wie mit MS-Office...
Wenn man dann noch die Zeit für Auswertung dazurechnet, oh Gott........
Fand bisher gar nicht statt.. Das ist ein weiterer Grund. Wir haben mehr Kosten als Einnahmen.. und dem will ich auf die Spur gehen.

Unsere Situation ist etwas chaotisch. Wir versuche uns seit einigen Jahren zu etablieren, aber irgendwie hakt das alles ganz gewaltig.
Da alles recht intim ist bei uns, wird es keine rechtlichen Schwierigkeiten geben, vorerst.. Kommt Zeit, kommt Rat.
Da mir die Firma sehr ans Herz gewachsen ist und ich Potenzial sehe, habe ich mich angeboten in dem Apparat ein wenig Ordnung zu bringen.
Ich bin leider nur bald studienbedingt vom Standort weg und muss bis dahin weiterstgehend ein Gerüst ertsellt haben, womit ich auch über große Entfernung
Online weiterarbeiten kann, bzw. mich um die Auswertung der Finanzen, der Arbeitszeiten etc. pp. zu kümmern.
Und ich hatte gehofft, das wäre eine ordentliche Basis.

So nun aber zum Dokument.
Grundsätzlich ist deine Datei genau das, was ich mir vorgestellt hatte.
Leider weiß ich nicht, wie ich das mit einem ewigen Kalender ausrüsten kann. Ebenso sehe ich relativ viel Arbeitsaufwand darin, jeden Monat in einer separaten Tabelle zu schreiben, da ich dann ja jedesmal die Variablen, Indizes etc. anpassen muss, mal von der Erstellung und der Formatierung der Tabelle ganz zu schweigen.

Die Jahrsübersicht hingegen sehe ich dabei wieder weniger PRoblematisch, daran hatte ich sowieso gedacht, im Zuge einer Auswertung, sieht man grundsätzlich welche Monate arbeitstechnisch aufwändiger waren und welche nicht - vergleicht man das mit den Einnahmen, erkennt man vielleicht sogar direkt, woran es hakt (z.B. sehr viel Arbeit, wenig Umsatz = schlechte Produktivität -> entweder zu schlechte Arbeiter oder unternehmerische Fehlkalkulation)..
Die Wochenenden farbig darstellen, hatte ich auch noch vor, kriege aber diese bescheuerte einfache Bedingung ned im Makro unter...
If "Zeile mit Wochentagen" = "sa" or "so"
Then...
aber so leicht ist es dann leider wieder mal nicht :(

Ja.. Formatierung.. ich weiß.. das war - ehm Spielerei, die ich mir jetzt beim coden echt abgewöhnen muss, da es wirklich unübersichtlich wird, hast schon recht :x

Erstmal vielen vielen Dank, nochmals, dass du dir die Zeit nimmst, an meiner Problemlösung zu arbeiten :D
Liebe Grüße und einen schönen Abend,
Seb

Re: Steuerelement via Makro verschieben

von turtle47 » Di, 23.06.2009 08:01

Guten Morgen Seb,
azd hat geschrieben:Viel Spaß beim kritisieren :D
Ich denke, da findet man einiges..
Naja, das kommt drauf an. Ich kenne ja die Struktur in Eurer Firma nicht.
Also wenn ich Chef wäre, dann gäbe es ein elektronisches Zeiterfassungssytem mit Magnetkarten, anstelle dieser Datei.
Meine Mitarbeiter sollten produktiv arbeiten, anstatt in einer Tabelle stundenlang unproduktiv rumzuklicken. Das können manche Leute ganz gut.
Wenn man dann noch die Zeit für Auswertung dazurechnet, oh Gott........
Die paar Euronen für ein solches Gerät sind dann schnell wieder verdient.
Ausserdem kommt dann noch die Rechtssicherheit dazu wenn mal Abweichungen auftreten und es hart auf hart kommt.

Aber das ist eine andere Baustelle.

Wenn es denn dann aber so sein soll würde ich die Datei:

> direkt mit einem ewigen Kalender ausrüsten
> für jeden Monat eine Tabelle separat erstellen
> dazu eine Tabelle mit einer Jahresübersicht erstellen
> die Wochenenden farbig darstellen
> Zeilen und Spalten nicht dazu verwenden Rahmen darzustellen*
> ...........

* dazu gibt es im Menue > Format > Zellen.... > Reiter Rahmen genügend Formatierungsmöglichkeiten.

Den Code in der überarbeiteten Datei habe ich auf ein minimum reduziert und verwende nur noch ein Steuerelement.
Der Tabellenschutz ist eingebaut und der dazugehörige Code befindet sich in einer extra Bibliothek die ebenfalls geschützt ist.
Das Passwort für die Tabelle und die Bibliothek ist "Test"!

Und nun bin ich mal auf Deine Kritik gespannt. :D

Jürgen

Re: Steuerelement via Makro verschieben

von azd » Mo, 22.06.2009 22:01

Ja das mit dem Hochladen klingt gut..
Ich hoffe, dass dadurch etwas verständlicher wird, was das werden soll...
Ist echt noch das Rohformat weil ich mich mühselig gen Ziel hangel..
Hier der Link:
http://www.imagenetz.de/fe6ab32c0/Stund ... l.ods.html
Viel Spaß beim kritisieren :D
Ich denke, da findet man einiges..
Ja die Signatur hab ich schon gesehen.. find ich gut :P lässt mich ned ganz so doof dastehen.

Vielen Dank für die schnellen Antworten!
Schönen Abend noch,
Seb

Re: Steuerelement via Makro verschieben

von turtle47 » Mo, 22.06.2009 20:40

Hi Seb,
azd hat geschrieben:dass ich jetzt vor ner Menge anderer Probleme stehe
Man, dann bist Du ja ein Supergenie :lol: (siehe meine Signatur)
azd hat geschrieben:Wenn der Admin das Dokument schützt, sodass die Mitarbeiter nicht an den Formeln rumwurschteln können, kann der SpinButton ebensowenig an den Formeln rumwurschteln
Dann hebe den Tabelleschutz während der Eingabe via Makro auf, oder entperre die einzelnen Zellen über
Menue > Format > Zellen > Reiter Zellschutz > Haken weg bei [ ] Gesperrt.
azd hat geschrieben:was mir endlich erklärt, warum oCellPosition und nicht nur CellPosition?
"CellPosition" ist eine festgelgte Eigenschaft von bestimmten Objekten und kann deshalb nicht als Variable verwendet werden.
azd hat geschrieben:Außerdem krieg ich das nur auf einen Spin Button bezogen hin
Im Prinzip brauchst Du doch nur einen, den Du nach belieben über das Sheet jagen kannst.
Man muss das Makro "nur" entsprechend anpassen.

Wenn Du möchtest kannst Du ja hier mal ein Beispieldokument mit fiktiven Daten hochladen, damit sich das
Corpus Delicti mal ansehen kann um gezielter helfen zu können.

Auf geht's. Augen zu und durch. :wink:

Jürgen

Drehfeld ohne Sonderrechte?!?

von azd » Mo, 22.06.2009 19:13

Ha! Das ist auch schön.. Doof nur, dass ich jetzt vor ner Menge anderer Probleme stehe..
Also ich komm mal genau auf den Punkt, was ich überhaupt bezwecken will.
Ich wollte ein interaktives Stundenkonto über Calc herstellen, in dem der Admin/Chef die "Macht" hat, über ein Panel die entsprechenden Werte für Lohn, Extrageld, Urlaubstage etc. festzulegen - für jeden Mitarbeiter individuell...
Wenn er das getan hat, soll es möglich sein dieses "Panel" auszublenden und dem entsprechenden Mitarbeiter zuzuschicken, damit dieser nichts weiter tut als per Drehfeld seine Werte täglich einzugeben...
Dazu gehören "Arbeitsanfang", "Arbeitsende", "Pausenzeit" sowie die Auswahl, ob Werktag, Wochenende, Urlaub etc....
Das mit den Tagen habe ich recht schnell und einfach gelöst.. So ist z.B. die Zelle "Arbeitszeit" mit einer Bedingung verknüpft, die sich auf das "Drop-Down-Menü" in der Spalte "Dienst" bezieht. Ist dort Wochenende angegeben, so werden direkt 0 Stunden festgeschrieben, unabhängig, was vorher bei Arbeitszeit etc. steht.
Ebenso wie Urlaub auf 8 Tage festgelegt ist..
Das ganze noch schön über Bedingte Formatierung und schwups - es kommt ein wenig Schwung und Übersichtlichkeit in die Sache.
Das ganze mit deinem tollen wandernden Button und es sieht aus, wie vom Profi gemacht....
NUR!
Wenn der Admin das Dokument schützt, sodass die Mitarbeiter nicht an den Formeln rumwurschteln können, kann der SpinButton ebensowenig an den Formeln rumwurschteln :(
Außerdem krieg ich das nur auf einen Spin Button bezogen hin.. Sobald ich den Rest kopiere und die Werte ändere meckert er, weil ich die entsprechenden Variabeln doppelt belege :X
Wieso ist das alles so kompliziert?
Und warum finde ich kein vernünftiges Tutorial, was mir endlich erklärt, warum oCellPosition und nicht nur CellPosition?!?
Und überhaupt und generell..
Bin verzweifelt..
Bitte um Rat

Liebe Grüße,
Seb

Re: Steuerelement via Makro verschieben

von turtle47 » Mo, 22.06.2009 08:18

Hi seb,
azd hat geschrieben:Also das Beispielprog ist ja der Hammer, weil ich genau das brauche
Tja, wenn man präzise Angaben bekommt, dann kann man auch eine dementsprechende Lösung erarbeiten.
azd hat geschrieben:Vielen Dank!
Gerne geschehen.

Beim Stöbern im I-Net bin ich auf eine weitere Lösung gestoßen wie man die neue Position des Objektes noch anders festlegen kann als über die Koordinaten der Zielzelle.
Man kann es in diesem Falle auch über das Verschieben des Ankers lösen. 8)

Code: Alles auswählen

Sub Main
sheet = thiscomponent.sheets.getbyindex(0)'erstes Tabellenblatt
cell = sheet.getcellbyposition(1,1) 'Zielzelle B2
shape = sheet.DrawPage.getByIndex(0)'das Objekt mit Index 0
shape.Anchor = cell
End Sub
Ich finde, dass ist eine gute Alternative.

Schöne Grüsse.

Jürgen

Re: Steuerelement via Makro verschieben

von azd » So, 21.06.2009 17:50

Hi!
Also das Beispielprog ist ja der Hammer, weil ich genau das brauche :D
Vielen Dank!

Mit dem x-ray hab ich mich jetzt auch dank der tollen Hilfe zurecht gefunden und werd jetzt mal zusehen, dass ich eigenständig mehr auf die Reihe krieg..
Und die JRE-Datei habe ich so ja schon des öfteren hinzugefügt.. Keine Ahnung warum, aber er hat trotzdem die Fehlermeldung angezeigt.. Nach einer Neuinstallation war das aber auch behoben. (Hab direkt die PrOOo Box installiert, da ist x-ray direkt bei)

Vielen Dank für die ausführliche Hilfe von allen!

Liebe Grüße,
Seb

Re: Steuerelement via Makro verschieben

von turtle47 » Do, 18.06.2009 21:56

Hi,
Gast hat geschrieben:nun muss ich nur noch schaun wie sich das ganze Steuerelement eine Zeile nach unten verschiebt
Vielleicht hilft Dir beigefügtes Beispiel weiter.

Wenn Du in den grauen Bereich klickst, dann wird der SpinButton direkt neben der geklickten Zelle positioniert. :lol:

Das Ganze arbeitet mit einem Listener, der beim öffnen der Datei gestartet wird.
Zu sehen unter Menue > Extras > Anpassen > Reiter Ereignisse

Viel Spass damit.

Jürgen

OT: Übrigens war das meine letzte Beispieldatei die ich hochgeladen habe, da mein Kontingent zum Hochladen von Dateien erschöpft ist. Schade. :(
Dateianhänge
Wandernder SpinButton.ods
(10.38 KiB) 439-mal heruntergeladen

Re: Steuerelement via Makro verschieben

von komma4 » Do, 18.06.2009 18:02

Wenn xray geladen ist, rufst Du aus Deinem Code heraus auf (nix klicken!)

Code: Alles auswählen

xray oObjektZumUntersuchen
Java wird für Makros nicht benötigt.
Gehst Du Extras>Optionen...>OpenOffice.org>Java und füge Deine JRE hinzu.

Re: Steuerelement via Makro verschieben

von azd » Do, 18.06.2009 17:48

Die Bibliothek hab ich geladen...
Ich seh nur absolut nichts von x-ray.. kein Menüelement.. nichts neues im Kontextmenü.. und wenn ich das über Extras --> Makros --> Makro ausführen
und im Untermenü Xray_Tool irgendwas ausführen will (ob nun Xray selbst oder XrayBack oder was immer es da sonst so gibt) kommt immer die selbe Fehlermeldung
"Ein Scripting Framework Fehler trat während der Ausführung von Basic script XrayTool._Main.Xray auf.

Meldung: wrong number of parameters!"
anschliessend klicke ich in der Auswahl der IDE auf Xray/Tools
einmal den grünen Pfeil benutzen
auf die Fehlermeldung warten
Das seh ich nichtmal bei mir :/

Seit dem Update nervt der auch ständig rum er hätte keine gültige Java-Laufzeitumgebung.. aber führt meine bisherigen Makros trotzdem aus.
Vielleicht sollte ich einfach mal alles neu installieren?!

Danke erstmal für die Hilfe..
grz.
azd

Re: Steuerelement via Makro verschieben

von keksi1970 » Do, 18.06.2009 17:33

also ich mach das immer anders :D (ist nicht professionell, aber hat auch Vorteile)

Xray muss installiert sein

anschliessend klicke ich in der Auswahl der IDE auf Xray/Tools
einmal den grünen Pfeil benutzen
auf die Fehlermeldung warten

und schon brauchst du kein Globalscope...XXX mehr

hilft vor allem beim testen / Löschen / wieder Testen
das einzige was beim fertigen Code gelöscht werden muss ist der Xray XX - Eintrag, und nicht bei jedem Modul nochmal das GlobalScope.....

LG
Andreas

Nach oben