Hallo,

Andre Steffens schrieb:
> Das Dokument soll an einigen Stellen vom Anwender zu
> bearbeiten sein. Er
> muss einige Werte eintragen... Die Formeln dahinter sind jedoch recht
> komplex und daher "Betriebsgeheimnis".

Sofern Du als Dateiformat OpenDocument (im Konkreten also *.ods)
verwendest könntest Du die Berechnungen in benutzerdefinierte Funktionen
auslagern und diese in einer verschlüsselten (Basic-)Dokumentbibliothek
speichern.
Technisch wäre das nach derzeitigem Erkenntnisstand sicher, wie groß der
Aufwand zur Erstellung der benutzerdefinierten Funktionen wäre, hinge
vom konkreten Einzelfall ab, da gerade bei 'komplexen' Tabellenformeln
die Komplexität nicht unbedingt ein Maß für die Komplexität (bzw. den
Aufwand) darstellt, diese in Basic 'abzubilden'. Teilweise ist es im
Gegenteil so das Tabellenformeln deshalb komplex sind weil man auf
benutzerdefinierte Funktionen verzichtet.

Beispiel:
Um den Dateinamen der aktuellen Datei zu ermitteln wäre eine mögliche
Tabellenformel:

=TEIL(ZELLE("FILENAME");FINDEN("#";WECHSELN
(ZELLE("FILENAME");"/";"#";LÄNGE(ZELLE
("FILENAME"))-LÄNGE(WECHSELN(ZELLE
("FILENAME");"/";"")));1)+1;FINDEN("#";ZELLE
("FILENAME");1)-FINDEN("#";WECHSELN
(ZELLE("FILENAME");"/";"#";LÄNGE(ZELLE
("FILENAME"))-LÄNGE(WECHSELN(ZELLE
("FILENAME");"/";"")));1)-2)

diese Tabellenformel ist ziemlich komplex(*), ihre Umsetzung als
benutzerdefinierte Funktion jedoch sehr einfach:

Function DATEINAME()
pfad = ThisComponent.Location
teilen = split(pfad,"/")
DATEINAME = teilen(UBound(teilen))
End Function



Gruß
Jörg

(*)
Die schrittweise Herleitung ist in Kapitel 6.6 von:
http://www.galileocomputing.de/1941
beschrieben.
(Das gesamte Kapitel 6 steht unter dem angegebenen Link auch als
kostenloses Probekapitel zur Verfügung.)



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@de.openoffice.org
For additional commands, e-mail: dev-h...@de.openoffice.org

Antwort per Email an