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
BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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 nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️