von Stephan » Fr, 12.01.2018 15:58
Die Funktionen liegen unter:
Extras->Makros->Makros verwalten->OpenOffice Basics->test-mitSchaltfläche.odt->Standard->Module1
Das kann nicht funktionieren, weil sie dort im Textdokument gespeichert sind und nicht in den Calc-OLE-Objekten.
Benutzerdefinierte Funktionen (also Basic-Funktionen die direkt in Calc-Tabellenzellen aufrufbar sein sollen) müssen immer entweder im Calc-Dokument (das wäre hier sinngemäß das OLE-Objekt) oder in der globalen Bibliothek namens "Standard" (nur in dieser funktionieren sie) gespeichert sein.
Im Calc-Dokumen, also hier im OLE-Objekt speichern ist noch durchführbar (Doppelklick auf Objekt und dann im dort unter Extras-Makros-... sichtbaren Dokument Unbenannt... ablegen), aber die Funktionen funktionieren nicht bei Aufruf als einer Tabellenzelle (zumindest bei mir nicht). Deshalb bleibt nur der zweite Weg (Speichern in der globalen Bibliothek "Standard"), der bei mir, zumindest mit der ganz einfachen HALLOWELT()-Funktion auch klappt, aber ich weiß trotzdem nicht was ich von dem Ganzen (=benutzerdefinierte Funktionen in OLE-Objekten nutzen) halten soll, mir wäre das zu zweifelhaft das es zuverlässig funktioniert. Deshalb würde ich bei einem Makro bleiben und sofern das Makro automatisch gestartet werden soll sobald es Ändeerungen an den Quelltabellen (also OLE-Objekten) gibt, dem EReignis "Dokument aktivieren" des odt-Dokuments zu ordnen, weil dieses Ereignis zwangsläufig eintritt wenn man nach einer Änderung in einem OLE-Objekt dieses Objekt wieder verlässt. Beispiel anhängend.
Gruß
Stephan
- Dateianhänge
-
- test-mitEreignismakro.odt
- (34.33 KiB) 99-mal heruntergeladen
[quote]Die Funktionen liegen unter:
Extras->Makros->Makros verwalten->OpenOffice Basics->test-mitSchaltfläche.odt->Standard->Module1
[/quote]
Das kann nicht funktionieren, weil sie dort im Textdokument gespeichert sind und nicht in den Calc-OLE-Objekten.
Benutzerdefinierte Funktionen (also Basic-Funktionen die direkt in Calc-Tabellenzellen aufrufbar sein sollen) müssen immer entweder im Calc-Dokument (das wäre hier sinngemäß das OLE-Objekt) oder in der globalen Bibliothek namens "Standard" (nur in dieser funktionieren sie) gespeichert sein.
Im Calc-Dokumen, also hier im OLE-Objekt speichern ist noch durchführbar (Doppelklick auf Objekt und dann im dort unter Extras-Makros-... sichtbaren Dokument Unbenannt... ablegen), aber die Funktionen funktionieren nicht bei Aufruf als einer Tabellenzelle (zumindest bei mir nicht). Deshalb bleibt nur der zweite Weg (Speichern in der globalen Bibliothek "Standard"), der bei mir, zumindest mit der ganz einfachen HALLOWELT()-Funktion auch klappt, aber ich weiß trotzdem nicht was ich von dem Ganzen (=benutzerdefinierte Funktionen in OLE-Objekten nutzen) halten soll, mir wäre das zu zweifelhaft das es zuverlässig funktioniert. Deshalb würde ich bei einem Makro bleiben und sofern das Makro automatisch gestartet werden soll sobald es Ändeerungen an den Quelltabellen (also OLE-Objekten) gibt, dem EReignis "Dokument aktivieren" des odt-Dokuments zu ordnen, weil dieses Ereignis zwangsläufig eintritt wenn man nach einer Änderung in einem OLE-Objekt dieses Objekt wieder verlässt. Beispiel anhängend.
Gruß
Stephan