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?
Tabellenereignisse
Moderator: Moderatoren
Re: Tabellenereignisse
Meines Erachtens leider garnichts.Was kann ich da machen um diese Verknüpfung zu erhalten?
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())
ja, alle die als Tabellenereregnis aufgelistet sind im KOntextmenü des Tabellenrteiters, Punkt "Tabellenereignisse..."Gibt es ein anderes Ereigniss der Mappe das man benutzen könnte?
Gruß
Stephan
-
- **
- Beiträge: 34
- Registriert: Mo, 14.12.2020 10:02
Re: Tabellenereignisse
Hallo,
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
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.Meines Erachtens leider garnichts.
Warum weist Du nicht das gewünschte Ereignis per Makro (erneut) zu?
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
Hä?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.
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"
und in:
Code: Alles auswählen
ThisComponent.Sheets.getByIndex(0).Events.ReplaceByName("OnFocus", Props())
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