Makro zum Trennen von Tabellenblättern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Hallo,

ich habe mit einem Makro, welches in OpenOffice erstellt wurden, ein Problem seit ich OfficeLibre verwende. Leider bin ich im Bereich Makro-Programmierung völlig unwissend und komme nicht weiter.
Das Makro hat in OpenOffice aus einem Tabellenblatt mehrere Tabellenblätter erstellt, unter Berücksichtigung des Spalteninhalts nach dem getrennt werden soll. So lief das ab
Sobald das Makto gestertet wurde ging ein Formular auf, in welchem folgende Infos eingetragen wurden:
- Bis zu welcher Spalte geht die Tabelle? (z..B. Spalte E)
- Bis zu welcher Zeile geht die Überschrift? (z.B. Zeile 1)
- Nach welcher Spalte soll getrennt werden? (z.B. Spalte A)

Würde da Makro funktionieren, würde es so viele neue Tabellenblätter mit dem entsprechenden Inhalt anlegen, wie es Einträge in Spalte A gibt.
Leider bekomme ich beim Ausführen einen Laufzeitfehler und es wird nur ein Tabellenblat mit der Überschrift erstellt.
Ich hänge drei Screenshots zu meiner Anfrage dazu, dann kann ich mich vielleicht besser verständlich machen.

Ich wäre sehr dankbar, wenn mir beim Beheben dieses Fehlers geholfen werden kann.
Dateianhänge
So wäre das ergebnis richtig.jpg
So wäre das ergebnis richtig.jpg (58.45 KiB) 6530 mal betrachtet
Laufzeitfehler.jpg
Laufzeitfehler.jpg (227.5 KiB) 6530 mal betrachtet
Formularangaben zur Trennung des Tabellenblatts.jpg
Formularangaben zur Trennung des Tabellenblatts.jpg (169.01 KiB) 6530 mal betrachtet
Ergebnis.jpg
Ergebnis.jpg (23.79 KiB) 6530 mal betrachtet
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Makro zum Trennen von Tabellenblättern

Beitrag von mikeleb »

Hallo,
Ich hänge drei Screenshots zu meiner Anfrage dazu
Sinnvoll wäre die Datei selbst. Aus den Screenshot kann man zwar erkennen, was du willst, aber nicht, wo der Fehler steckt.
Gruß,
mikeleb
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Hallo mikeleb,

sorry, nachfoglend der Code:

Code gelöscht!
Zuletzt geändert von Fisch-NW am Do, 11.05.2017 09:30, insgesamt 1-mal geändert.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Makro zum Trennen von Tabellenblättern

Beitrag von balu »

Hallo Fisch-NW,

mikeleb hat geschrieben: Sinnvoll wäre die Datei selbst.
Was ist denn so schwer daran zu verstehen? Es wird um die DATEI gebeten, und nicht um den Code. Wie sollen wir denn jetzt das ganze nachvollziehen, wenn wir den Code nicht ans laufen kriegen, da die Dialoge fehlen?


Aber eins kann ich dir schon mal auch so sagen, ohne die Datei zu sehen.
Du musst einfach nur sehr viel Glück gehabt haben, das der Code bis jetzt lief. Denn bei der Variablen deklaration hast Du dir selber ein Ei gelegt.
Ein Beispiel

Code: Alles auswählen

dim progress, progressMin, ProgressMax, percent, totalCount as long
Was glaubst Du wohl wieviele Variablen, aus dem Beispiel, korrekt deklariert sind?

Ich geb dir die richtige Antwort. Die da lautet.
Es ist nur die letzt aufgeführte, totalCount . Alle anderen sind vom Typ Variant. Und das kann zu Problemen führen.

In OpenOffice, egal ob OO.o, AOO oder LO, gilt immer folgender Grundsatz.
Jeder Variablen MUSS seperat der richtige Typ zugewiesen werden.
Und das würde theoretisch bei dir wie folgt aussehen, Beispielsweise.

Code: Alles auswählen

dim progress as long, progressMin as long, ProgressMax as long, percent as long, totalCount as long
Also ändere das in deiner Datei für alle Variablen dementsprechend ab, und dann hängst Du deine Problemdatei hier an, falls sich nicht dadurch das Problem gelöst hast.



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 :D
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Hallo Balu,

Danke für die Antwort. Ich habe jetzt die Variablen geändert (soweit ich das beurteilen kann) und das Makro läuft ohne Fehler durch. Leider passiert trotzdem nicht viel mehr als vorher. Das Tabellenblatt wird nach wie vor nicht aufgeteilt.

Die Art, in der du deine Antwort geschrieben hast, hat mich ziemlich getroffen. Hältst du es wirklich für anständig, mich so anzugreifen und direkt abwertend zu reagieren? Ich brauche Hilfe und habe mich in der Hoffnung entsprechende zu bekommen in diesem Forum angemeldet. Ich habe absolut keine Ahnung von der Materie. Die Person, die dieses Makro geschrieben hat ist für mich leider nicht mehr greifbar. Ob ich Glück gehabt habe, dass das Makro so lange gelaufen ist, kann ich ebenfalls nicht beurteilen.
Ich versuche mich in dieses Thema rein zu arbeiten und brech mir dabei einen ab. Und wenn ich dann so angemacht werde, ist das sehr demotivierend. Vielleicht besteht die Möglichkeit, das wir einen anständigen Umgang miteinander pflegen. Ich hoffe du bist bereit meine Kritik anzunehmen, ohne beleidigt zu sein.

Die Datei hänge ich an meine Antwort in der Hoffnung, dass es jetzt das ist was man braucht.
Makro - Tabellenblätter Trennen.ods
(16.38 KiB) 109-mal heruntergeladen
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Makro zum Trennen von Tabellenblättern

Beitrag von mikeleb »

Hallo,
die Datei ist ja ganz nett. Aaaaaber: Es fehlen die Makros!? Wie soll ich dir jetzt helfen?
Gruß,
mikeleb
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Guten Morgen,

ich hoffe das es jetzt geklappt hat. Da es mehrere Makros gibt, hab ich einen Screenshot mit dem Pfad und Namen des betroffenen Makros mit angehängt.
Danke schon mal vorab :-)
Makro - Tabellenblätter Trennen.ods
Pfad und Name
(16.39 KiB) 100-mal heruntergeladen
Datei mit Makro
Datei mit Makro
Makro _ Auswertung Trennen_Code.jpg (78.89 KiB) 6363 mal betrachtet
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Stephan »

ich hoffe das es jetzt geklappt hat. Da es mehrere Makros gibt, hab ich einen Screenshot mit dem Pfad und Namen des betroffenen Makros mit angehängt.
und hast dabei wirklich nicht gesehen das die Makros nicht im Dokument sind, sondern im Bereich "Meine Makros"?


Gruß
Stephan
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Sorry, ich komme gerade nicht mit... wenn ich das Dokument hier aus dem Tread raus öffne und in die Makro-Verwaltung gehe, finde ich das Makro. Ich weiß ehrlich gesagt nicht, was ich anders machen soll... :shock:
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Ich nehme alles zurück, hab verstanden was du meinst. Ich hab das Makro jetzt unter dem Dateinamen abgelegt und bekomme auch die Info das ein Makro hinterlegt ist, wenn ich das Dokument öffne.
Makro - Tabellenblätter Trennen.ods
(40.83 KiB) 97-mal heruntergeladen
Makro _ Auswertung Trennen_Code.jpg
Makro _ Auswertung Trennen_Code.jpg (78.89 KiB) 6351 mal betrachtet
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Stephan »

Dein Screenshot ist nicht der Richtige, er zeigt weiterhin auf "Meine Makros".

Vor allem aber überprüfe doch das Funktionieren der Makros in der Datei, z.B. funktionieren die Schaltflächen im Dialog nicht, weil sie weiterhin auf die Makros in "Meine Makros" weisen (was Du wohl nicht merkst weil Du die Makros bei Dir dort nicht entfernt hast.

Und eine Randbemerkung:
der Thread ist jetzt schon ziemlich lang ohne das Dir substanziell geholfen wurde, das hängt aber auch damit zusammen wie Du selber mitarbeitest, denn die richtige Zurverfügungstellung von Makros, Dateien, Auskünften ist Deine Sache.
Die Helfer hier arbeiten ehrenamtlich und haben häufig auch nicht viel Zeit, ich z.B. sitze hier bei meiner ganz normalen Arbeit als Freiberufler im Büro und antworte nebenher auf die Fragen im Forum und ich kann nicht allzuviel Zeit für Hilfsarbeitern wie das Zurechtrücken von Makroverknüpfungen für Schaltflächen aufwenden.
Das ist keine Schelte, sondern ein Rat, denn so ist irgendwie die Realität.


Gruß
Stephan
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Hallo Stephan,

ich empfinde deinen Rat nicht als "Schelte", da du dich für mein Empfinden ganz normal ausgedrückt hast, Danke dafür.
Ich werde einen letzten Versuch starten und die Datei hochladen, in welcher das Makro gespeichert ist, ebenso den Screenshot wo es liegt.
Sollte das nicht funktionieren, werde ich den Thread schließen und habe Pech gehabt. Ich möchte niemandem unnötig die Zeit rauben.

Das Makro lässt sich noch starten so dass das Formiular zum eintragen der Parameter erscheint, aber die Buttons zum Starten oder Beenden funktionieren nicht mehr...
Pfad:
Makro_Auswertung Trennen_Pfad.jpg
Makro_Auswertung Trennen_Pfad.jpg (106.91 KiB) 6310 mal betrachtet
Makro_Auswertung Trennen_Button.jpg
Makro_Auswertung Trennen_Button.jpg (168.58 KiB) 6310 mal betrachtet
Datei:
Makro - Tabellenblätter Trennen.ods
(41.28 KiB) 96-mal heruntergeladen
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Stephan »

Die Schaltflächen des Dialogs sind weiterhin keinen Makros in der Datei zugewiesen, so ist die Datei unbenutzbar und man kann damit keinen Fehler suchen.

Ich habe mir beholfen indem ich die Makros in der Datei per Hand in den Bereich "Meine Makros" kopiert habe, dann funktionieren (behelfsweise) auch die Schaltflächen im Dialog.

Ergebnis in LO 5.18: es gibt keine Fehlermeldung, aber es wird nur eine neue Tabelle erzeugt und dort die Überschrift der bestehenden Tabelle eingetragen.
Gleiches auch bei OOo 3.3.0 (nach Deiner Auskunft sollte das Makro aber unter OO funktionieren"

Wenn ich testweise den Buchstaben den ich im Dialog festlegen kann in Spalte A eintrage werden die Zeilen die diesen Eintrag haben in die zweite Tabelle kopiert.

Weitere Hinweise was das Makro konkret tun soll habe ich nicht, der Makrocode selbst ist mir zu undurchsichtig - für mich somit leider Ende der Fahnenstange, ich kann nicht weiterhelfen.


Gruß
Stephan
Fisch-NW
Beiträge: 8
Registriert: Di, 09.05.2017 09:19

Re: Makro zum Trennen von Tabellenblättern

Beitrag von Fisch-NW »

Trotzdem Danke für deine Bemühungen!
Antworten