Tabellenereignisse

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Tabellenereignisse

Re: Tabellenereignisse

von Stephan » Sa, 20.03.2021 09:27

Nun kann ich nur fertige, mit Verknüpfung ausgerüstete Kopien unsichtbar machen und bei Bedarf mit einer Extrafunktion sichtbar machen. Sonst fällt mir nichts dazu ein.
Hä?

Ich habe Dir die Lösung doch hingeschrieben.

in:

Code: Alles auswählen

Props(1).Value = "vnd.sun.star.script:Standard.Module1.Main?language=Basic&location=application"
ist "Main" der Name des Makros und "Module1" der Modulname sowie "Standard" der Bibliothelksname eines Makros in den Globalen Makros (=Application")

und in:

Code: Alles auswählen

ThisComponent.Sheets.getByIndex(0).Events.ReplaceByName("OnFocus", Props())
ist ThisComponent.Sheets.getByIndex(0) das Blatt, also die kopierte Tabelle, der das Makro für das Ereignis "Dokument aktiviueren" zugewiesen wird.


Macht genau das was Du brauchst, Du musst nur den Code nach dem Kopiuervorgang im Makro durchführen und natürlich die Tabellenobjektbezüge richtig anpassen.

Achtung: das richtige EReignis ist "OnFocus", nicht "OnChange" wie ich fälschlich gepostet hatte.





Gruß
Szephan

Re: Tabellenereignisse

von dinner4one » Sa, 20.03.2021 03:17

Hallo,
Meines Erachtens leider garnichts.
Warum weist Du nicht das gewünschte Ereignis per Makro (erneut) zu?
Schade das nicht ne Option wie "verknüpfte Makros behalten" existiert. Ich wollte dem User ne Möglichkeit geben das Blatt zu dublizieren wenn eines nicht reicht. Die Makroverknüpfung übergibt Parameter an die Filter in der gemeinsamen Datenbereichauswertung.

Nun kann ich nur fertige, mit Verknüpfung ausgerüstete Kopien unsichtbar machen und bei Bedarf mit einer Extrafunktion sichtbar machen. Sonst fällt mir nichts dazu ein.

Trotzdem Danke für die Antwort

Re: Tabellenereignisse

von Stephan » Fr, 19.03.2021 05:25

Was kann ich da machen um diese Verknüpfung zu erhalten?
Meines Erachtens leider garnichts.
Warum weist Du nicht das gewünschte Ereignis per Makro (erneut) zu? z.B.:

Code: Alles auswählen

Dim Props(1) as new com.sun.star.beans.PropertyValue
Props(0).Name = "EventType"
Props(0).Value = "Script"
Props(1).Name = "Script"
Props(1).Value = "vnd.sun.star.script:Standard.Module1.Main?language=Basic&location=application"

ThisComponent.Sheets.getByIndex(0).Events.ReplaceByName("OnChange", Props())
Gibt es ein anderes Ereigniss der Mappe das man benutzen könnte?
ja, alle die als Tabellenereregnis aufgelistet sind im KOntextmenü des Tabellenrteiters, Punkt "Tabellenereignisse..."



Gruß
Stephan

Tabellenereignisse

von dinner4one » Do, 18.03.2021 17:09

Hallo,
ich habe ein Tabellenereigniss -> Dokument aktivieren eines Blattes mit einem globalen Makro verknüpft. Dieses Blatt soll nun vom User kopiert bzw. dubliziert werden. Leider geht beim Anlegen des Blattes die Makroverknüpfung verloren.
Was kann ich da machen um diese Verknüpfung zu erhalten? Gibt es ein anderes Ereigniss der Mappe das man benutzen könnte?

Nach oben