🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Steuerelemente werden nicht gespeichert
Steuerelemente werden nicht gespeichert
Hi Wissende,
ich bin dabei, von MS-Office auf Libre Office 7.5. um zu steigen (u .a. wg. Linux auf einem alten Notebook, auf dem Windows nicht will) und bin an einem Problem hängen geblieben, für das ich keine Lösung finde. Die Suche hier brachte mich auch nicht weiter.
Es geht um eine MS-Exceltabelle, die per Makro nach 3 unterschiedlichen Kriterien sortiert werden kann. Die zugehörigen Markos habe ich umgeschrieben (stark vereinfacht) und sie werden von Calc auch sauber ausgeführt.
Diese Makros werden über 3 Steuerflächen aufgerufen. Wenn ich die Datei mit Calc öffne, funktioniert auch alles prima. Wenn ich die Datei speichere und wieder öffne, sind die Steuerflächen weg.
Also habe ich in Calc neue Steuerflächen angelegt und die VBA-Makros zugewiesen. Funktioniert prima. Aber sobald ich speichere und anschließend wieder öffne, sind die auch weg.
Sowohl bei Calc unter Windows 10 wie bei Calc unter linus Mint 21.1.
Kennt jemand das Problem? Und - noch besser - hat eine Lösung?
Grüße
Erika
ich bin dabei, von MS-Office auf Libre Office 7.5. um zu steigen (u .a. wg. Linux auf einem alten Notebook, auf dem Windows nicht will) und bin an einem Problem hängen geblieben, für das ich keine Lösung finde. Die Suche hier brachte mich auch nicht weiter.
Es geht um eine MS-Exceltabelle, die per Makro nach 3 unterschiedlichen Kriterien sortiert werden kann. Die zugehörigen Markos habe ich umgeschrieben (stark vereinfacht) und sie werden von Calc auch sauber ausgeführt.
Diese Makros werden über 3 Steuerflächen aufgerufen. Wenn ich die Datei mit Calc öffne, funktioniert auch alles prima. Wenn ich die Datei speichere und wieder öffne, sind die Steuerflächen weg.
Also habe ich in Calc neue Steuerflächen angelegt und die VBA-Makros zugewiesen. Funktioniert prima. Aber sobald ich speichere und anschließend wieder öffne, sind die auch weg.
Sowohl bei Calc unter Windows 10 wie bei Calc unter linus Mint 21.1.
Kennt jemand das Problem? Und - noch besser - hat eine Lösung?
Grüße
Erika
Re: Steuerelemente werden nicht gespeichert
Hallo,
ich hoffe, du speicherst die Dateien als .ods ab.
Ansonsten wäre es hilfreich, wenn du uns eine solche Datei hier zur Verfügung stellst (es reicht ohne Daten, jedoch mit Makros).
ich hoffe, du speicherst die Dateien als .ods ab.
Ansonsten wäre es hilfreich, wenn du uns eine solche Datei hier zur Verfügung stellst (es reicht ohne Daten, jedoch mit Makros).
Gruß,
mikele
mikele
Re: Steuerelemente werden nicht gespeichert
Wenn ich als "ods" speichere, dann bleiben wohl die Schaltflächen erhalten, aber mit der Fehlermeldung
Ein Scripting Framework Fehler trat während der Ausführung vom Basic Skript vnd.sun.star.script:AMUTT.XLS.Modul9.SortAutotour?language=Basic&location=document auf.
Meldung: The following Basic script could not be found:
library: 'AMUTT'
module: 'XLS'
method: 'Modul9'
location: 'document'
In Modul 9 steht aber das kurze VBA-Script
Option VBASupport 1
Sub SortFlugreise()
Range("a2:F500").Sort Key1:=Range("f2"), Key1:=Range("f2"), Order1:=xlDescending, Key2:=Range("b2"), Key3:=Range("c2")
End Sub
welches sich aber nun nicht mehr - mit der gleichen Fehlermeldung - ausführen lässt. Zudem ist die Datei dann unter MS-Excel 2010 nicht mehr brauchbar und somit ist die Kompatibilität ohnehin nicht mehr gegeben.
Ein Scripting Framework Fehler trat während der Ausführung vom Basic Skript vnd.sun.star.script:AMUTT.XLS.Modul9.SortAutotour?language=Basic&location=document auf.
Meldung: The following Basic script could not be found:
library: 'AMUTT'
module: 'XLS'
method: 'Modul9'
location: 'document'
In Modul 9 steht aber das kurze VBA-Script
Option VBASupport 1
Sub SortFlugreise()
Range("a2:F500").Sort Key1:=Range("f2"), Key1:=Range("f2"), Order1:=xlDescending, Key2:=Range("b2"), Key3:=Range("c2")
End Sub
welches sich aber nun nicht mehr - mit der gleichen Fehlermeldung - ausführen lässt. Zudem ist die Datei dann unter MS-Excel 2010 nicht mehr brauchbar und somit ist die Kompatibilität ohnehin nicht mehr gegeben.
Re: Steuerelemente werden nicht gespeichert
Ich habe mich weiter belesen - das wird wohl nichts.
Ich werde auf die Schaltflächen verzichten (der Aufruf der Makros ist eher selten notwendig und dann geht es ja auch den umständlicheren Weg über den direkten Aufruf - das funktioniert ja).
Vielleicht arbeite ich mich mal in die Libre-Office-Makro-Welt ein. Noch stört mich das erforderliche Java.
Gruß
Erika
PS: Wer einen Trick kennt, die Schaltflächen im xlsm-Format zu erhalten - gern genommen.
Ich werde auf die Schaltflächen verzichten (der Aufruf der Makros ist eher selten notwendig und dann geht es ja auch den umständlicheren Weg über den direkten Aufruf - das funktioniert ja).
Vielleicht arbeite ich mich mal in die Libre-Office-Makro-Welt ein. Noch stört mich das erforderliche Java.
Gruß
Erika
PS: Wer einen Trick kennt, die Schaltflächen im xlsm-Format zu erhalten - gern genommen.
Re: Steuerelemente werden nicht gespeichert
Wenn Du wissen willst, warum das mit dem Bearbeiten von VBA-Macrosbschwierig ist, schau Dir mal diese Einstellungen in der Hilfe zu LibreOffice an:
https://help.libreoffice.org/latest/de/ ... ystem=UNIX
Eigentlich braucht BASIC meines wissens nach kein Java. Ob der entsprechende Bug inzwischen behoben wurde weiß ich nicht, da ich wegen der HSQLDB Java immer installiert habe.
https://ask.libreoffice.org/t/what-feat ... e-java/256
Welches Problem hast Du mit Java? Sicherheit, Lizenz, Geschwindigkeit, anderes?
https://help.libreoffice.org/latest/de/ ... ystem=UNIX
Eigentlich braucht BASIC meines wissens nach kein Java. Ob der entsprechende Bug inzwischen behoben wurde weiß ich nicht, da ich wegen der HSQLDB Java immer installiert habe.
https://ask.libreoffice.org/t/what-feat ... e-java/256
Welches Problem hast Du mit Java? Sicherheit, Lizenz, Geschwindigkeit, anderes?
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: Steuerelemente werden nicht gespeichert
Danke für die HInweise.
Die Ausführung des VBA Kodes macht ja keinerlei Schwierigkeiten (nachdem ich den Kode vereinfacht habe, weil einige Statements dem LO zu kompliziert waren). Alle Häkchen sind bei den Optionen gesetzt. Und das Ganze geht ohne Java.
Nur die Schaltflächen und deren Verknüpfung mit den VBA-Makros funktioniert nach dem Speichern nicht, so dass die Makros manuell aufgerufen werden müssten (was geht).
Mit Java habe ich mich noch nicht im Detail beschäftig. Meine mich zu erinnern, in vergangenen Jahren einiges über Sicherheitsprobleme gelesen zu haben. Vielleicht mache ich mal ran. Dann ist es aber wohl mit der Rückwärtskompatibilität zu MS Office vorbei. Die wollte ich gern behalten.
Gruß
Erika
Die Ausführung des VBA Kodes macht ja keinerlei Schwierigkeiten (nachdem ich den Kode vereinfacht habe, weil einige Statements dem LO zu kompliziert waren). Alle Häkchen sind bei den Optionen gesetzt. Und das Ganze geht ohne Java.
Nur die Schaltflächen und deren Verknüpfung mit den VBA-Makros funktioniert nach dem Speichern nicht, so dass die Makros manuell aufgerufen werden müssten (was geht).
Mit Java habe ich mich noch nicht im Detail beschäftig. Meine mich zu erinnern, in vergangenen Jahren einiges über Sicherheitsprobleme gelesen zu haben. Vielleicht mache ich mal ran. Dann ist es aber wohl mit der Rückwärtskompatibilität zu MS Office vorbei. Die wollte ich gern behalten.
Gruß
Erika
Re: Steuerelemente werden nicht gespeichert
Update
Java installiert.
Mal probehalber per "Makro aufzeichnen" die Sortiersequenz als Makro erzeugt.
Schaltfläche angelegt und verknüpft - funktioniert.
Gespeichert als .xlsm..
Geöffnet und getestet: Schaltflächen funktionieren nicht.
Das Ganze noch einmal und als .ods gespeichert.
Geöffnet und getestet: Schaltflächen funktionieren.
Fazit: Unter Beibehaltung der Kompatibilität zu MS-Excel geht das wohl nicht.
Muss überlegen und beschließen, ob ich diese Kompatibilität noch brauche. Wahrscheinlich nicht.
Gruß Erika
Java installiert.
Mal probehalber per "Makro aufzeichnen" die Sortiersequenz als Makro erzeugt.
Schaltfläche angelegt und verknüpft - funktioniert.
Gespeichert als .xlsm..
Geöffnet und getestet: Schaltflächen funktionieren nicht.
Das Ganze noch einmal und als .ods gespeichert.
Geöffnet und getestet: Schaltflächen funktionieren.
Fazit: Unter Beibehaltung der Kompatibilität zu MS-Excel geht das wohl nicht.
Muss überlegen und beschließen, ob ich diese Kompatibilität noch brauche. Wahrscheinlich nicht.
Gruß Erika
Re: Steuerelemente werden nicht gespeichert
Java brauchst du definitiv nicht für Basic und VBA(-kompatibilität)***
Wenn du eh zu Linux wechselst, dann sehe ich nicht wo du einen Export nach .xlsm benötigst??Erika hat geschrieben: ↑Sa 17. Jun 2023, 20:08Mal probehalber per "Makro aufzeichnen" die Sortiersequenz als Makro erzeugt.
Schaltfläche angelegt und verknüpft - funktioniert.
……
Das Ganze noch einmal und als .ods gespeichert.
Geöffnet und getestet: Schaltflächen funktionieren.
Fazit: Unter Beibehaltung der Kompatibilität zu MS-Excel geht das wohl nicht.
Muss überlegen und beschließen, ob ich diese Kompatibilität noch brauche. Wahrscheinlich nicht.
***Java wird nur noch für (bestimmte?) Datenbanktreiber benötigt.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Steuerelemente werden nicht gespeichert
Es ging ja nicht um die Funktion von VBA oder Basic. Beides machte ja keine Probleme.
Sondern nur um die Funktion der Schaltflächen nach dem Speichern.
Ich stecke da (noch) nicht genug drin, um die Zusammenhänge zu verstehen. Außer: Jetzt geht es. Vorher ging es halt nicht.
Nicht alle verwenden LO - daher die Betrachtung der Kompatibilität zu MO.
Sondern nur um die Funktion der Schaltflächen nach dem Speichern.
Ich stecke da (noch) nicht genug drin, um die Zusammenhänge zu verstehen. Außer: Jetzt geht es. Vorher ging es halt nicht.
Nicht alle verwenden LO - daher die Betrachtung der Kompatibilität zu MO.
Re: Steuerelemente werden nicht gespeichert
Weiteres Update
Nachdem ich mit der Funktion der Tabelle inkl. Makros und Schaltflächen auf dem PC nun rundum glücklich bin, habe ich die Datei auf dem Notebook unter Linux geöffnet (der Hauptzweck der Übung).
Die Makros werden nicht geladen. Es erscheint eine Meldung, dass nicht alle Daten geladen werden können, weil die Spaltenzahl zu hoch sei. Wohl ein Relikt aus Excel. Ich habe alle genutzten Spalten in neue Arbeitsblätter kopiert und die ursprünglichen gelöscht. Die Meldung erscheint nicht mehr, aber die Makros werden trotzdem nicht geladen.
Makro-Sicherheitsansprüche sind auf "niedrig" gesetzt und bei den VBA.Makros (sind ja aber gar keine, sondern Starbasic) alle Häkchen gesetzt.
Gelernt: Es ist zu unterscheiden, ob im Programm oder im Dokument zu speichern. Am besten nur die Daten in eine frische Tabelle kopieren, damit da gar nichts Verwirrendes von Excel übernommen wird.
Jetzt alles soweit perfekt.
Noch nicht gelungen ist es mir, ein Basic- Äquivalent für die Excelanweisung ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row zu finden, um auch den Druckbereich bis zum letzten Eintrag fest zu legen.
EDIT
Trotz intensiver Suche im Netz habe ich nichts Vernünftiges gefunden. Also FOR-NEXT-Schleife über die entsprechende Spalte mit EXIT FOR, wenn die erste leere Zelle angetroffen wird. Funktioniert prima und es sind nicht so viele Daten, dass die Laufzeit eine Rolle spielt.
Projekt erfolgreich abgeschlossen, auch wenn es sicher elegantere Lösungen gibt. Danke für die hervorragende Unterstützung und LG
Erika
Nachdem ich mit der Funktion der Tabelle inkl. Makros und Schaltflächen auf dem PC nun rundum glücklich bin, habe ich die Datei auf dem Notebook unter Linux geöffnet (der Hauptzweck der Übung).
Die Makros werden nicht geladen. Es erscheint eine Meldung, dass nicht alle Daten geladen werden können, weil die Spaltenzahl zu hoch sei. Wohl ein Relikt aus Excel. Ich habe alle genutzten Spalten in neue Arbeitsblätter kopiert und die ursprünglichen gelöscht. Die Meldung erscheint nicht mehr, aber die Makros werden trotzdem nicht geladen.
Makro-Sicherheitsansprüche sind auf "niedrig" gesetzt und bei den VBA.Makros (sind ja aber gar keine, sondern Starbasic) alle Häkchen gesetzt.
Gelernt: Es ist zu unterscheiden, ob im Programm oder im Dokument zu speichern. Am besten nur die Daten in eine frische Tabelle kopieren, damit da gar nichts Verwirrendes von Excel übernommen wird.
Jetzt alles soweit perfekt.
Noch nicht gelungen ist es mir, ein Basic- Äquivalent für die Excelanweisung ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row zu finden, um auch den Druckbereich bis zum letzten Eintrag fest zu legen.
EDIT
Trotz intensiver Suche im Netz habe ich nichts Vernünftiges gefunden. Also FOR-NEXT-Schleife über die entsprechende Spalte mit EXIT FOR, wenn die erste leere Zelle angetroffen wird. Funktioniert prima und es sind nicht so viele Daten, dass die Laufzeit eine Rolle spielt.
Projekt erfolgreich abgeschlossen, auch wenn es sicher elegantere Lösungen gibt. Danke für die hervorragende Unterstützung und LG
Erika
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.