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. 🤗

Drucken "von Datum bis Datum" Makro

Alles zur Programmierung im OpenOffice.org
balu
Beiträge: 155
Registriert: Di 12. Okt 2010, 11:35

Re: Drucken "von Datum bis Datum" Makro

Beitrag von balu » Mi 6. Jun 2018, 13:21

Mahlzeit Pretender,
Das mit dem auslagern, der Datei in eine Extra-Datei hört sich echt gut an. Hatte ich gar nicht auf dem Schirm...
Auch wenn ich mich etwas anders ausgedrückt habe, so hatte ich das doch schon gestern gezeigt und gesagt.
balu hat geschrieben: Und wenn jetzt z.B. nach der ON 160666 gesucht wird, dann sucht das Programm (die ZD) anhand der gezeigten Tabelle diese ON und stellt fest das sie sich in der "Quartal_1_2018" befinden muss. Also kann die dementsprechende Datei geöffnet werden, und irgendwas mit ihr gemacht werden.
Okay, mir gings ja gestern nicht so berauschend, und von daher war es sehr knapp gehalten.

Also was ich damit sagen wollte war, das in der "Zentral-Datei" in einem seperaten Tabellenblatt eine kleine Tabelle erstellt wird die nur die niedrigste und höchste fortlaufende Ordnungsnummer pro Quartal auflistet. Das ergibt dann anstatt viele Hunderte, oder sogar Tausende Zahlen, nur 2.

Und wenn durch die "Zentral-Datei" festgestellt wurde das die gesuchte Ordnungsnummer sich z.B. in der externen Datei "Quartal_1_2018" befindet, dann kann die "Zentral-Datei" diese zur Weiterbearbeitung (oder was auch immer) öffnen. Und nach getaener arbeit wird die externe Datei wieder geschlossen.

Natürlich war das auch noch recht einfach dargestellt, da sich dies System auch noch ausbauen lässt. Also anstatt nur die Ordnungsnummer kann auch paralell dazu noch etwas anderes mit einbezogen werden.

Ein Problem gibt es aber dabei, um eine Sinnvolle Tabelle, wie ich gezeigt hatte, anzulegen müssen die Zahlen aufsteigend vorliegen.


Und ganz ehrlich gesagt, es ist wohl ganz gut und schön das jetzt seit gestern seeeeeehr viel geredet wurde, aber das ist alles irgendwie zu abstrakt und nicht wirklich nachvollziehbar.
Ich hatte doch schon um nachvollziehbare BEISPIELDATEN gebeten, und zwar am Montag.

Mir ist nämlich noch immer nicht klar was GENAU in den einzelnen Zellen steht.
Bei *Bearbeiter* und *verfügt am*, da kann man sich ja noch so grade eben vorstellen das da ein Name und daneben ein Datum rein kommt.

Aber bei *Ordnungsnummer*, *E-Mail Eingang* und *Aktenplannummer* wirds schon kritischer. Und da wir schon mal beim Thema sind: Warum ist in deiner Beispieldatei zwischen *Akten* und *plannummer* eine ausgeblendete Spalte?
Und ferner warum ist zwischen *plannummer* und *Sachbezeichnung* auch eine Spalte ausgeblendet die die Überschrift *Einsender* trägt?
Ausgeblendete Spalten finde ich nicht gut.
Wenn sie für das System, filtern und sortieren, nicht von Bedeutung sind (unwichtig sind), dann gehören sie nicht darein.

Also mach jetzt endlich mal eine Beispieldatei mit nachvollziehbaren Daten!
Denn was nützt das, wenn z.B. ich hier sitze und mir Gedanken über eine rein basierte Zahlen-Nummer gedanken mache, aber es in wirklichkeit ein Kauderwelsch von Buchstaben und Zahlen ist?



Gruß
balu

balu
Beiträge: 155
Registriert: Di 12. Okt 2010, 11:35

Re: Drucken "von Datum bis Datum" Makro

Beitrag von balu » Mi 6. Jun 2018, 15:33

Mahlzeit Pretender,
anbei die Testdatei.
Danke! Danke! Danke! :D

Na guck mal einer wie er guckt! So kann man sich doch täuschen. Von wegen *Bearbeiter* = ein Name, oder hast Du das durch x-Beliebige Zahlen ersetzt?

Die Startseite habe ich nur so dahingepinselt.
Verzeih mir bitte jetzt meine offenen Wote.
Dies System ist Müll. Da ruft man erst einen Dialog (UserForm) auf, beendet ihn, und dann ruft man ihn wieder auf um etwas anderes zu machen. Das birgt zumindest in AOO gewisse Risiken mit sich, nur mal so zur Nebeninfo.

Das würde, wie du schon
geschrieben hast, sich mit sogenannten Dialogen umsetzen lassen.
Das lässt sich in der Tat mit z.B. einem "Hauptdialog" mit mehreren Seiten eleganter lösen lassen.

Ich hatte ja am Montag abend folgende Beispieldatei angehängt: *Mehrseitiger-Dialog_und_ 3900_Zeilen_Testdaten.ods*
Und diese habe ich jetzt auf die schnelle "ausgebaut", um das mit den Mehrseitigendialog etwas *lebhafter* zu demonstrieren. Jetzt kannst Du auch gleich mal schauen wie das denn so funktioniert mit einer anderen Datei zu öffnen, am besten erstmal nur mit AOO-Dateien.

Aber Vorsicht!!
Versuche nicht die schon geöffnete Datei über das dortige System noch mal zu öffnen. Wähle ruhig eine andere Datei aus. Wie wärs denn mit der vom Montag?

Ach ja! Auch noch wichtig!
Wenn sich der Dialog zum öffnen der Datei geöffnet hat, klicke bitte nicht auf *Abbrechen*, denn das gibt sonst eine Fehlermeldung im Makro-Code.

Wenn du eine Datei auf diesem Weg geöffnet hast, so kannst Du die auch darüber wieder schließen. Hört sich jetzt vielleicht ein wenig komisch an, da Du die zusätzlich geöffnete Datei doch sehen kannst. Aber das hat schon seinen Grund warum ich das mal kurz erwähne, doch dazu später noch etwas.

Also, die neue Beispieldatei ist im Anhang: *Testdialoge_und_ 3900_Zeilen-Testdaten_0.0*

Das mit deinen Beispieldaten sehe ich mir später noch genauer an.



Gruß
balu
Dateianhänge
Testdialoge_und_ 3900_Zeilen-Testdaten_0.0.ods
(338.57 KiB) 213-mal heruntergeladen

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Drucken "von Datum bis Datum" Makro

Beitrag von mikele » So 10. Jun 2018, 14:45

Hallo Pretender,
nach deiner Testdatei gibt es zwei Datumsangaben:
a) das Datum des E-Mail-Eingangs
b) das Datum "verfügt am" (=abschließende Bearbeitung)
Dazu zwei Fragen:
1) Nach welchem Datum richtet sich die Ordnungsnummer?
2) Angenommen man würde Datensicherungen/Extradateien quarteilsweise anlegen. Nach welchem Datum muss sich das richten?
Kritisch sind ja immer die Fälle die an der Grenze zweier Zeiträume liegen. Angenommen, ein Fall mit der Aktenplannummer X1000 kommt am 15.3. (=Ordnungsnummer 1), ein zweiter am 25.3. (=Ordnungsnummer 2). Der erste wird am 27.3. abschließend bearbeitet, der zweite am 5.4.
Dann dürften der Datensatz des zweiten aber nicht mit dem 1. Quartal ausgelagert werden.
Was wäre, wenn (um in diesem Beispiel zu bleiben) im zweiten und dritten Quartal nichts weiter passiert, aber im vierten Quartal wieder die X1000 auftaucht. Dann sollte sie (nach meinem bisherigen Verständnis) die Ordnungsnummer 3 bekommen.
Kurz gefragt: Welcher Zeitraum kann (theoretisch) zwischen zwei Verfügungen derselben Aktenplannummer liegen.
Ich nehme mal an, dass höchstens ein Zeitraum von 3 Monaten möglich ist. Meine Idee wäre nun, einen aktuellen Datenbestand zu haben, der bis zu 2 Quartale umfasst. Am Ende des 3. Quartals werden dann die Daten des 1. Quartals in eine Extradatei ausgelagert.
Von wie vielen Datensätzen pro Monat reden wir eigentlich?
Gruß,
mikele

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Drucken "von Datum bis Datum" Makro

Beitrag von mikele » Mo 11. Jun 2018, 21:25

Hallo,
schön, wieder etwas klarer geworden.
Der Knackpunkt wird sein, eine Balance zwischen Performance und Bedienfunktionalitäten herzustellen.
Einerseits ist die Bearbeitung eine Verfügung innerhalb eines überschaubaren Zeitraumes abgeschlossen. Andererseits brauchst du alle (!) Verfügungen zur Festlegung der Ordnungsnummer und möchtest auch in allen Verfügungen suchen.
Szenario 1 (bisher): alle Daten in einer Datei
Balu hat schon erläutert, dass das auf Dauer problematisch wird. Es nützt aber auch nichts, z. B. jedes Jahr eine neue Datei anzulegen, da du im Januar ja auch noch auf die Daten des Dezember zugreifen musst.
Szenario 2: alle Daten häppchenweise (z. B. Quartal) in einzelne Dateien ausgelagert
Szenario 3 (wie schon angedeutet): Mischform, bei der die aktuellen Daten (2-3 Quartale) in der Arbeitsdatei sind und alle anderen ausgelagert sind.
-----
Da du in allen Verfügungen, von Anbeginn der Zeit, suchen möchtest, müssten ggf. nacheinander alle Datendateien geöffnet und durchsucht werden. Das könnte eine Weile dauern. Man könnte natürlich auch noch so etwas einbauen, das man nur innerhalb eines gewissen Zeitraumes suchen möchte.
Das Dilemma mit den Ordnungsnummern würde bedeuten, rückwärts alle Dateien nach der Aktenplannummer zu durchforsten. Eine Idee wäre noch, eine Extradatei oder -tabelle zu pflegen, in der nur die Aktenplannummern mit aktueller Ordnungsnummer (von Anbeginn) gepflegt werden.
------
Diese Dinge müssen entschieden werden. Denk dabei mal nur von der Funktionalität her und nicht darüber nach, wie man das programmieren könnte (ist letztlich alles möglich).
Gruß,
mikele

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Drucken "von Datum bis Datum" Makro

Beitrag von mikele » Di 12. Jun 2018, 08:31

Hallo,
Ich hätte nicht gedacht, dass es so extrem aufwendig ist, so etwas unter OO Calc zu programmieren.
Über die Programmierung, also das "Wie?", haben wir doch noch gar geplaudert. Das sind alles "nur" Vorüberlegungen darüber, was das Ziel ist.
Wie du schon beschrieben hast, ist deine bishgerige Lösung so Stück für Stück entstanden. Jetzt denken wir das ganze von Grund an neu, stellen alles auf den Prüfstand, suchen nach der optimalen Strategie.
Die Sache mit Aktenplannummern auf einer Extratabelle ist von der Programmierung eher harmlos. Es muss nur erst klar sein, wo die Reise hingehen soll.
Gruß,
mikele

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Drucken "von Datum bis Datum" Makro

Beitrag von mikele » Di 12. Jun 2018, 23:08

Hallo Pretender,

um dir mal ein bisschen Mut zu machen und weil ich es selbst wissen wollte, wie die Performance so ist, habe ich Balu's Beispieldatei mal ausgebaut und die Dateneingabe programmiert.
@Balu: Ich hoffe, du bist einverstanden, dass ich mich so unverschämt daran vergreife. Ich habe es auch unter AOO (4.1.1) gemacht, sodass es keine Schwierigkeiten geben sollte.
Das Ganze ist nur dazu da, die Möglichkeiten aufzuzeigen und ein bisschen zu spielen. Das Gesamtpaket wird eine andere Hausnummer ...
Nebenbei habe ich etwas über maskierte Felder gelernt. Die Aktenplannummer scheint ja immer dem Schema P 1900, also Buchstabe Leerzeichen Ziffer Ziffer Ziffer Ziffer, zu folgen. Das maskierte Feld lässt nun nur noch genau dieses zu. Beim Buchstaben ist Groß-/Klein egal, es wird automatisch in Großbuchstaben gewandelt und das Leerzeichen braucht gar nicht erst eingegeben zu werden.
Eine Fehlerbehandlung ist somit gleich mit erledigt.
Im Ergebnis muss ich erstmal (positiv) feststellen, dass das Makro die 4000 Datensätze im Bereich von einer Sekunde nach der Aktenplannummer durchforstet, die entsprechende Ordnungsnummer vergibt und den Datensatz einfügt.
Dateianhänge
verfügungen_neu.ods
(272.44 KiB) 205-mal heruntergeladen
Gruß,
mikele

balu
Beiträge: 155
Registriert: Di 12. Okt 2010, 11:35

Re: Drucken "von Datum bis Datum" Makro

Beitrag von balu » Mi 13. Jun 2018, 12:33

Mahlzeit mikele,
@Balu: Ich hoffe, du bist einverstanden, dass ich mich so unverschämt daran vergreife.
Laut Paragraph Hau-mich-wech Unterabsatz schlach-mich-dumm is es Verboddden dies zu tun-täten :lol:.

Mensch! Mikele!
Dazu sind doch die Dateien da, um mit ihnen zu arbeiten. Alles klar? :)


Du hast jetzt aber indirekt etwas angesprochen was wohl noch nicht zutrifft, aber irgendwann einmal zutreffen könnte. Und diese Gelegenheit will gleich mal nutzen um etwas zu erklären, was sich jetzt gar nicht so spaßig anhört, aber auch mal erwähnt werden muss.

Es gibt Ausnahmesituationen wo deine Rückfrage schon berechtigt ist, und ich der zustimmen kann oder auch nicht. Dies ist der Fall, wenn ich eine Datei unter eine bestimmte Lizenz stelle die bestimmte Sachen erlaubt oder sogar verbietet. Aber das ist hier noch längst nicht der Fall.

Dich und mich berührt jetzt der Punkt mit einer Lizenz wohl noch überhaupt nicht, aber das folgende muss jetzt dennoch sein.
Wenn z.B. ich alleine mich der Problematik für Pretender annehme, ich also so gesehen ein "Dienstleister" wäre, dann ist es für mich extrem wichtig die Datei unter eine Lizenz zu stellen. Denn im Falle eines Falles, z.B. Datenverlust auf Grund meiner Datei, kann ich im Schadensfalle auf die Lizenz verweisen wo bestimmte Eigenschaften zugesagt werden oder aber auch nicht. Und durch die zuvor vorgenommene Zustimung der Lizenzvereinbarung von Prtender ist er damit einverstanden, und sich der Gefahren ganz genau bewusst. Also mich trifft dann keine Schuld. Und ich kann nicht dafür Haftend gemacht werden. Aber anders kann das dann bei Prtender aussehen. Er kann deswegen sehr große Probleme mit seinem Arbeitgeber bekommen.

Ich jedoch, als externer "Dienstleister", bin fein raus da ich die Datei Lizenziert habe. Und ja! Das hat auch vor Gericht bestand :!: . Ich sage das ganze also nicht aus Spaß an der Freude, sondern weil das ein ECHTES ernstzunehmendes Problm ist, was die blanke realität betrifft.

Das ganze jetzt nur mal so am Rande bemerkt, da wir bei weitem noch nicht so weit sind. Und außerdem glaube ich wohl kaum das wir Pretender ein Fix-und-fertiges-Produkt übergeben werden. Er wird und muss sich selber noch mit der ganzen Programmierung auseinander setzen um zu verstehn was wie da genau abläuft.

Auch wenn wir hier ein Forum sind, welches Hilfe zur Selbsthile anbietet, so musste das jetzt auch mal sein. Denn es geht hier nicht um einen x-beliebigen Kalender (z.B. von mir), sondern um viel mehr.


Aber genug davon.
Mikele, Du brauchst dir keine Gedanken darum zu machen was Du mit den angehängten Dateien machst. Wir arbeiten ja so gesehen doch zusammen.

Auch wenn es nicht danach aussieht, ich befasse mich auch noch mit der Datei. Lediglich ist mein Thema ein ganz anderer Punkt, den ich noch nicht genauer erklären möchte. Ich will ja nicht zu viel versprechen, deshalb sage ich nix dazu. Jedoch hat er nix mit Datenerfassung und Auswertung zu tun. Er arbeitet so gesehen im Hintergrund.

Ach ja. Datei habe ich gedownloaded, aber mir noch nicht weiter intensiv angeschaut. Möchte mich von "meinem Problem" nicht ablenken lassen. ;)



Gruß
balu

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Drucken "von Datum bis Datum" Makro

Beitrag von mikele » Mi 13. Jun 2018, 17:19

Hallo,
hier:

Code: Alles auswählen

'neuen datensatz schreiben
oVerfuegen.getCellRangeByPosition(0,n,6,n).setDataArray(array(aEingaben()))
Gegenfrage: Soll die Datenerfassung so sein?
Gruß,
mikele

balu
Beiträge: 155
Registriert: Di 12. Okt 2010, 11:35

Re: Drucken "von Datum bis Datum" Makro

Beitrag von balu » Do 14. Jun 2018, 02:42

Hallo Pretender,

eins vorweg. Auch wenn Du meinst das sich das alles nach rumgemäääckere anhört, so ist es das nicht.
Ich hätte nicht gedacht, dass es so extrem aufwendig ist, so etwas unter OO Calc zu programmieren.
Ist es doch im prinzip auch gar nicht, zumindest für einige ;-)

Das war unter Excel
schon etwas leichter, aber es liegt halt daran, dass ich mich nicht mit OO Calc beschäftigen mußte.
Das hat nix mit den beiden Officen an sich zu tun, sondern das wir das Pferd jetzt komplett neu Satteln. Und wenn ich da so an meine ersten gehversuche zurückdenke, dann dachte ich fast genau so wie Du. Nur war ich nicht umgestiegen, sondern eingestiegen. Doch so nach und nach merkte ich bei meinem damaligem Projekt das das eine oder andere noch mit eingebaut werden musste. Und dann wurds nicht "gar Luschidich", sondern im Gegenteil gar richtig Kriminel.

Und ob Dus glaubst oder nicht, ich hatte die letzten Tage wieder so ein Kriminelles Erlebnis mit diesem unseren Projekt. Frag mich nicht wieviele Pläne ich hatte um mein jetziges Etappen-Ziel zu erreichen. Und dabei habe ich noch nicht mal mein Hauptziel geschafft.

Um was geht es denn da überhaupt?
Nun, wir hatten ja schon das Thema: "Externe Dateien" angesprochen. So weit, so klar.
Jedoch seh ich das schon aus einem anderen Blickwinkel. Wenn eine externe Datei (kurz: ExD) geladen wird und mit ihr ein Datenaustausch via Dialog stattfindet, egal ob nur lesend oder schreibend, dann muss dem Benutzer der Hauptdatei mitgeteilt werden das eine ExD geöffnet ist. Denn es ist ja nicht gesagt, das nach einer einmaligen Aktion die ExD sofort wieder geschlossen wird, sondern noch weitere Aktionen durchgeführt werden und nicht nur mit der ExD.

Hört sich ja noch relativ Harmlos an. Doch die ExD soll ja gar nicht von Hand direkt bearbeitet werden, sondern das soll das Makro machen, so das es keiner mitbekommt. Das nicht wegen Heimlichtuerei, nein, weil es stört wenn auf einmal eine Exd auf dem Bildschirm aufpoppt. Und deshalb soll die ExD schön unsichtbar im Hintergrund bleiben.

Und daraus ergibt sich dann ein weiteres Problem. Da sie unsichtbar ist, wird sie auch nicht in der Taskleiste angezeigt. Und in folge dessen kann man sie auch nicht von Hand schließen, das muss das Makro erledigen.

Mein Etappenziel war, eine ExD öffnen, dem Benutzer mitteilen das eine ExD geöffnet ist, und das der Benutzer die Möglichkeit hat diese Datei auch zu schließen.

Und ja! Ich habe dies erreicht!

Trotz meiner "Schatzkiste" des ersten Projekts stehe ich aber noch vor einem ganz anderen Problem, ich konnte es mit ihr also noch nicht lösen.
Es geht darum, das mein erreichtes Etappenziel nur dann wie gewünscht funktioniert, so lange man den Dialog nicht beendet. Durch das beenden des Dialogs verschwindet der Inhalt der Variablen, und es kommt zu einer Fehlermeldung.

Aber nun erkläre ich mal wie meine KOMPLETT NEU ERSTELLTE Beispieldatei zu Handhaben ist.
Doch zuvor noch ein wichtiger Hinweis.
Die Datei darf NIE UND NIMMER mit Excel in Kontakt kommen. Es dürfen auch keine Daten, oder sonstiges, von Excel nach OO koppiert werden! Es ist nämlich nicht ausgeschlossen das dadurch etwas in OO reinkopiert wird, was der Datei nicht gut bekommt. Ich spreche jetzt nicht von Virus & Co, sondern irgendetwas anderes was man nicht sofort sieht, aber dennoch da ist, irgendwelche komische Daten oder Zeichen. Und deshalb hatte ich sie komplett neu gemacht.


Also denne!

Durch klick auf den Button "Hauptmenü aufrufen" erscheint der Hauptdialog. Fast so wie schon bekannt.
Jedoch ist beim ersten Aufruf der Button "Datei schließen" nicht sichtbar. Logisch! Da ja keine ExD geöffnet ist.

Die Button "Datenerfassung" und "Ausdruck erstellen" funktionieren ja auch ohne eine ExD. Das kann ruhig getestet werden.

Nun kann man ja getrost auf den Button "Datei öffnen" klicken. Dadurch gelangt man zu einer anderen Seite, die die Überschrift "Hier können sie eine Datei öffnen." trägt. Dort dann bitte auf den Button "Datei öffnen" klicken, es erscheint ein Dialog zur Dateiauswahl. Dort sicherheitshalber NUR OO-Dateien auswählen, wie z.B. 'ods' oder 'odt'. Also egal ob Calc- oder Writer-Dateien, das spielt momentan noch keine Rolle.

Hat man also eine Datei ausgewählt, BITTE NUR auf "Öffnen" klicken. Auf gar keinen Fall auf "Abbrechen" klicken, das führt automatisch zu einer Fehlermeldung die das Makro unterbricht.

Nach dem klick auf "Öffnen" wird sofort die Datei geöffnet. Das ist dann auch unübersehbar, da ich momentan das genau so vorgesehen habe.

Nun wechselt man zu der Hauptdatei mit dem geöffneten Dialog. Dort kann man jetzt lesen, das die ExD geöffnet ist.
Aber gleichzeitig hat der Dialog jetzt auch eine Rote Fußzeile bekommen, die so lange aktiv sichtbar ist, wie der Dialog aktiv ist.

Bitte daran denken!
Den Dialog jetzt nicht Beenden!

Also "zurück zum Menü".
Jetzt sind auch alle 4 Buttons sichtbar, gegenüber vorher nur 3.

Daten erfassen und Ausdruck erstellen können jetzt ruhig noch mal ausprobiert werden. Hat sich nicht sehr viel geändert. Einzig ist die Rote Fußzeile hinzugekommen.

Nun kann man aus dem Hauptmenüe ruhig auf "Datei schließen" klicken. Es kommt dann eine Rückfrage, wo man die ExD schließen kann. Danach gibts eine Rückmeldung, und die Rote Fußzeile verschwindet. Jetzt kann man den Dialog ruhig beenden.


Für die ganz ganz ganz ganz ganz ganz mutigen von Euch.
Macht mal folgendes.

Schaut in das Makro, und zwar in das Modul *Modul_Arbeit*.
Dort sucht ihr die *Sub DateiAuswahl*.
Und dort diese Zeile.

Code: Alles auswählen

myFileProp(0).Value = false ' True
Dort schmeißt ihr das false ' raus, so das nur noch das hier übrig bleibt.

Code: Alles auswählen

myFileProp(0).Value = True
Und nun startet den Dialog erneut.
Öffnet eine Datei.
Und ..... :shock:

Und ich komme jetzt auch zum ENDE!
Ich geh in die Heia-Popeia. :mrgreen:



Gruß
balu
Dateianhänge
NEU_mit_TESTDATEN_ohne-EXCEL-Kontakt_0.1.ods
(20.79 KiB) 198-mal heruntergeladen

balu
Beiträge: 155
Registriert: Di 12. Okt 2010, 11:35

Re: Drucken "von Datum bis Datum" Makro

Beitrag von balu » Do 14. Jun 2018, 15:15

Hallo Pretender,
man du arbeitest aber lange daran......02:42 Uhr, wann schläfst du eigentlich? ;)
Och! Das ist bei mir eigentlich schon fast normal. Aber da ich von Dienstagabend 21 Uhr bis Mittwochmorgen um 10:30 Uhr fast durchgepennt habe, war ich natürlich etwas ausgeruhter. Ich sag nur "Wetterfrosch" ;-) So, und damit ist dieser Punkt abgehakt.

Ich habe deine Datei mal ausprobiert und funktioniert soweit ganz gut...Respekt....
Danke dafür.
Wie Du ja weisst, wollen wir die Sache jetzt ganz anders angehen, als wie Du es zuvor gemacht hast. Und dabei werden über Kurz oder lang noch ganz andere Probleme auftauchen an die Du bis jetzt noch gar nicht so richtig dran gedacht hast. Ich spreche da aus Erfahrung, und deshalb hatte ich mich jetzt schon mal mit diesem Thema befasst.

Dazu fallen mir momentan noch ein paar Dinge ein, worüber Du dir gedanken machen musst, und Du es schon mal weisst.

All zu viel versteh ich nicht von VBA, aber etwas ist mir da doch in deiner ersten Beispieldatei im Makrocode aufgefallen.
In StarBasic kann man einen Dialog nicht automatisch auf maximale Bildschirmgröße setzen. Denn so etwas stand wohl dort drin, zumindest so ähnlich. Man kann wohl den Dialog Bildschirmfüllend darstellen, jedoch muss man dazu die Auflösung (z.B. 1280*768) des Monitors wissen, und dementsprechend schon bei der Dialog Gestaltung das berücksichtigen. Erstellt man z.B. einen Dialog an einem PC mit der Auflösung 1600*900 Bildschirmfüllend, so ist der gleiche Dialog an einem PC mit beispielsweise 1280*768 nicht mehr vollständig zu sehen, und folglich kann er auch nicht problemlos bedient werden. Der PC wo der Dialog erstellt wird muss also die gleichen Bedingungen erfüllen wie der "Ziel-PC".

Dazu gehört aber auch, das beide PCs das gleiche Bertriebssystem haben müssen. Windows und Linux wird super häwwwwiiie extrem Problematisch (woher ich das wohl weiss?). Und selbst Windows und Windows sind nicht immer identisch, besonders wenn sie nicht aus der gleichen Familie stammen, also z.B. WinXp und Win7.

Und aus diesem Grunde habe ich noch keinen zu großen Dialog erstellt. Was Du dann schlußendlich selber machen musst, oder einen Kompromiss-Dialog erstellen mit dem wir alle arbeiten können.



Ich bin wohl nicht Mikele, aber dennoch:
Die Eingabe wird nicht übernommen.
Woran siehst Du das?

oVerfuegen.getCellRangeByPosition(0,n,6,n).setDataArray(array(aEingaben()))

Halt mich nicht für dumm, aber (0 = Spalte 1, 6 = Zeile)richtig?
Das hat nix mit Dummheit zu tun, sondern schlicht ergreifend Unwissend.
Teilweise richtig aber auch teilweise falsch.

Ersetzen wir doch mal kurz die Variable 'n' durch Zahlen, beispielsweise 2 und 9, dann würde diese Zeile wie folgt aussehen.

Code: Alles auswählen

oVerfuegen.getCellRangeByPosition(0,2,6,9).setDataArray(array(aEingaben()))
Zu lesen wäre das dann wie folgt.
0 = 1. Spalte (A)
2 = 3. Zeile
6 = 7. Spalte (G)
9 = 10. Zeile
Da bei "getCellRangeByPosition" die Zählung bei 0 anfängt, egal ob Spalte oder Zeile, müssen wir Menschen das also alles um 1 erhöhen.
Das wäre dann also anders ausgedrückt der Zellbereich: A3 bis G10.

Wenn Du das selber mal in einer Tabelle nachvollziehen willst, dann mach mal folgendes.
In der Zelle A1 gibst Du folgendes ein.

Code: Alles auswählen

=SPALTE()-1
Und nun ziehst Du diese Zelle nach rechts rüber, so weit Du willst.


Jetzt machst Du das gleiche hiermit.
In A1

Code: Alles auswählen

=ZEILE()-1
Und nach unten ziehen.

Das sind Tipps die ich auch perönlich oft genug anwende, weil man manchmal schnell durcheinander kommt, welche Spalte oder Zeile denn nun genau gemeint ist.

Da ich ja nicht alles Mikele vorweg nehmen will, darf er sich ruhig zu deinen anderen Fragen äußern ;) :lol:



Gruß
balu

Antworten