Hallo Jörg, Danke für die Antwort.
das Problem ist gelöst, ich habe einen Fehler beim Erstellen des Macros
gemacht:
Normalerweise kommt da ja "Standard", "Modul1" oder so ...
Ich hatte den Namen "Modul1" in "Path" geändert, weil das ja Pfade
bearbeiten soll ... leider ist das ein reservierter Name!
Vielleicht sollte man im Buch darauf hinweisen, daß die Struktur (wie
oben genannt) nicht ohne Not geändert werden sollte ... oder wenigstens
darauf hinweisen, was die Namen bewirken!
Jörg Schmidt schrieb:
Hallo Günter,
[email protected] schrieb:
ich hatte ja schon geschrieben, daß mit diese Variante am
sympathischsten ist ...
aber wie wende ich diese Funktion an?
Wie gesagt: Ich wollte *automatisch* ermitteln, wie der absolute Pfad
auf meinem Rechner für *diese* Datei lautet ...
und das Ganze soll auch noch korrekt funktionieren, wenn die Datei
verschoben wird!
habe das jetzt mit Erfolg probiert unter
Suse 11.1 (OOo 2.4.x), Ubuntu (OOo Original, mit Eurer Hilfe auf dem
Linuxtag installiert) und unter Win XP mit einer, per Samba
eingebundenen Datei.
Alles sah prima aus!
Mein Stöbern in Deinem Buch "Tabellenkalkulation ... 3" hat mir auch
nicht viel weiter geholfen. Insbesondere gibt es dort kein
Beispiel für
'ThisComponent.Location'
Ein Beispiel findet sich dort auf Seite 261 in Form der
benutzerdefinierten Funktion DATEINAME, in dieser wird
ThisComponent.Location verwendet.
ich habe mich da geirrt, bzw die Relevanz nicht gesehen. Nachdem ich
dieses Macro (mit dem Vorspann) in meine Datei kopiert hatte, ging es.
das hat mir schon geholfen.
Ich habe die Funktion einmal (lokal) in eine CALC-Datei (über die
Macro-IDE) eingefügt, weiß aber nicht, wie ich die dann im
Tabellenblatt anwende.
...
=NurPfad()
Die Funktion startet, aber es kommt die Fehlermeldung "Objektvariable
nicht belegt"
Das Vorgehen ist korrekt, die Fehlermeldung deutet jedoch für mich
darauf hin das Du etwas anders getan hast als Du beschreibst, denn ich
würde diese Fehlermeldung erwarten wenn die benutzerdefinierte Funktion
nicht im Dokument sondern lokal bei z.B. den persönlichen Makros ('Meine
Makros') gespeichert wäre und dann im Dokument aufgerufen wird.
der Grund lag im Namen des Moduls, wie oben beschrieben ..
Was ist eigentlich mit 'Main' ...
Ein 'Platzhalter', ein Beispiel für einen Makronamen, ...
das habe ich (in der IDE) durch die
angegebene Funktion ersetzt. War das falsch?
Nein, das ist in Ordnung
also kann das auch ganz entfallen, anders als Beispielsweise in einem
C-Programm. Das *braucht* ein 'main'!
Ist die Schreibweise (Groß-Klein) eigentlich relevant?
Im Konkreten ist diese hier nicht relevant, es gibt aber Stellen wo sie
eine Rolle spielt ...
ja, die speziellen Zeichenketten in den Doppel-Hochkommas ... die haben
mich auch schon geärgert.
Ebenso ist Groß-/KLeinschreibung wichtig bei z.B. Namen von
Steuerelementen oder auch teils bei Variablennamen in Makros wlche
multiplattformfähig sein sollen.
Ich würde also raten im Zweifelsfall immer Groß- und Kleinschreibung zu
benutzen.
auch wenn die Macros dann an der Aufrufstelle nur Großbuchstaben sind
... im Code ließt sich das besser!
Vielleicht kannst Du mir einmal ein vollständiges
Mini-Beispiel zukommen lassen?
Da Du das Buch hast kannst Du das dort vorhandene Beispiel benutzen, in
der Datei FunktionDATEINAMEKap67.xls zeige ich ein Beispiel wie man
mittels Code eine benutzerdefinierte Funktion schreibt, welche sowohl
unter MS Excel (VBA) als auch unter OOo Calc (StarBasic) direkt, ohne
Änderungen funktioniert:
mit der IDE für Macros, schrittweisem Ablauf, einfügen von
Hilfsvariablen und Inspizieren dieser Variablen habe ich ja dann auch
herausgefunden, was da passiert.
Das Ganze ist auch in Form der Datei FunktionDATEINAMEKap67.ods
verfügbar, und es reicht dann für Deine angefragten Zwecke aus die
Funktion z.B. so zu kürzen:
...
Beide Dateien befinden sich auf der Buch-DVD im Ordner:
../Buchdateien/Kapitel_06/
danke, die habe ich auch gefunden.
Aber ein ganz anderes Problem:
Ich kann die CD/DVD unter Linux nicht als normaler User lesen, nur als
root ... das will mir nicht gefallen! Auch unter Win XP hat die CD
gezickt, aber später dann doch noch ihren Inhalt preisgegeben.
Der Grund scheint zu sein, daß die Felder "user" und "group" ganz
merkwürdige Werte haben (sehr große Zahlen)!
Da ich den Inhalt als root irgendwohin kopieren und die Rechte anpassen
muß (oder eine neue CD brennen) ist das schon sehr störend!
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]