Folgende Ausgangssituation,
ich habe einen recht universellen Dialog ("Assistent") mithilfe dessen ich Daten in ein beliebiges Calc Dokument einfügen kann.
Einige der Dokumente (aber nicht alle) haben ihrerseits an das Tabellen Ereignis "Inhalt geändert" gebundene Scripte die beim Eingeben von Daten per Hand aufgerufen werden.
Beim Einfügen von Daten mithilfe des Dialogs wird das "Inhalt geändert" Ereignis nicht gezündet.
Das Aufrufen des verbundenen Makros im Dialog führt bei Dokumenten mit ungebundenem Ereignis logischerweise zum Fehler.
Gibt es einen allgemeinen Befehl, um die mit dem "Inhalt geändert" Ereignis verbundenen Makros auszuführen, falls sie vorhanden sind oder es manuell zu zünden?
Vielen Dank im Voraus für eure Bemühungen.
Libre Office Version 5.4.7 32 bit
🙏 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. 🤗
Auslösen eines Tabellenereignisses aus einem Makro heraus
Re: Auslösen eines Tabellenereignisses aus einem Makro heraus
Hallo,
ich wüsste nicht, dass das geht. Du könntest doch auch einfach das Makro, dass durch das Ereignis ausgelöst werden soll, direkt aufrufen (in dem Makro, dass den Zellinhalt ändert).
ich wüsste nicht, dass das geht. Du könntest doch auch einfach das Makro, dass durch das Ereignis ausgelöst werden soll, direkt aufrufen (in dem Makro, dass den Zellinhalt ändert).
Gruß,
mikele
mikele
Re: Auslösen eines Tabellenereignisses aus einem Makro heraus
Hallo Mikele,
ja das würde bei dem Tabellenblatt mit dem gebundenen Makro funktionieren.
Allerdings würde der Aufruf dann auch erfolgen wenn ich mich in einem anderen Tabellenblatt in derselben Mappe befinde obwohl das nicht gewünscht ist.
Zuletzt, würde dies in einer Mappe die garnicht über das gebunden Makro verfügt zu einem Fehler führen.
mmmh...
Als letzte Möglichkeit bliebe das SheetEvents.GetByName("OnChange")(1).Value auf genau den Namen des Makros zu prüfen, und selbiges nur dann per Select Case Verzweigung aufzurufen.
Ist nur nicht besonders elegant, da ich dann für jedes evtl vorkommende Makro ein Case vorsehen muss...
Trotzdem Danke für die Rückmeldung
ja das würde bei dem Tabellenblatt mit dem gebundenen Makro funktionieren.
Allerdings würde der Aufruf dann auch erfolgen wenn ich mich in einem anderen Tabellenblatt in derselben Mappe befinde obwohl das nicht gewünscht ist.
Zuletzt, würde dies in einer Mappe die garnicht über das gebunden Makro verfügt zu einem Fehler führen.
mmmh...
Als letzte Möglichkeit bliebe das SheetEvents.GetByName("OnChange")(1).Value auf genau den Namen des Makros zu prüfen, und selbiges nur dann per Select Case Verzweigung aufzurufen.
Ist nur nicht besonders elegant, da ich dann für jedes evtl vorkommende Makro ein Case vorsehen muss...
Trotzdem Danke für die Rückmeldung
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.