Seite 1 von 1

Gültigkeit ThisComponent.DocumentProperties beim Starten

Verfasst: Di, 23.06.2009 12:54
von John.Mops
Moin!
ich habe keine Infos gefunden, daher hier die Frage:

ich habe ein Makro um die Dokument Eigenschaften wie Author, Description u.s.w auszulesen und in Zellen anzuzeigen.
( bis 3.0 getDoccumentInfo() ab 3.1. DocumentProperties )
- das klappt soweit -
Interessant ist, das aber, wenn ich die Datei per Doppelklick starte und nicht in Oo öffne das Makro auf einen Fehler läuft,
...Eigenschaft oder Methode nicht gefunden... - ich schätze, dass zum (diesem) Ladezeitpunkt dies noch nicht zur Verfügung steht.

Gibt es da einen Loop-Trick (sowas wie damal DoEvents in VB) mit dem ich den Lade-Zustand abfragen/freigeben, ablaufen lassen kann?

Ich kann zwar den Fehler abfangen, dann sind aber die Felder mit meiner Funktion - die ja den Author ausgeben soll leider leer
und müssen später aktualisiert werden - nicht schön halt.

Re: Gültigkeit ThisComponent.DocumentProperties beim Starten

Verfasst: Di, 23.06.2009 13:37
von turtle47
Hallo,

hast Du es schon mal mit

Code: Alles auswählen

Wait 5000' 5 Sekunden
direkt am Anfang der Sub versucht?
Eventuell den Wert anpassen!

Jürgen

Re: Gültigkeit ThisComponent.DocumentProperties beim Starten

Verfasst: Di, 23.06.2009 13:52
von John.Mops
jupp - Msgbox und wait -
Beide sind anscheinend modal - bezüglich diesem Prozess - und stoppen den Ablauf -

ach ja weitere Tests:
wird über Extras/Zelleninhalte die Automatische Aktualisierung abgeschaltet, kann die Datei (natürlich) ohne
Fehler gestartet werden -
die Funktion arbeitet dann korrekt (..die Zelle edieren - Anzeige und so - alles ok)

Ist die Automatische Aktualisierung an kommt die Fehlermeldung (wieder beim direkten Start der ods)
- noch bevor die Sheets angezeigt werden...

Re: Gültigkeit ThisComponent.DocumentProperties beim Starten

Verfasst: Di, 23.06.2009 17:43
von John.Mops
weiterer Test
befindet sich das Makro mit der Funktion in der Datei selbst - gibt es keine Fehlermeldung
...also ist anscheinend die Reihenfolge:
- Datei laden
- Makros in Datei aktivieren
- externe Makros ( user -Makros aus C:\Dokumente und Einstellungen\...\OpenOffice.org\3\user\basic\ )
- DateiProperties für interne Makros bereitstellen...
- Zellen aktualisieren
- DateiProperties für externe Makros bereitstellen... ??

eine 'stinknormale' Berechnungsformel in den externen Makros macht kein Problem - nur eine Funktion vom Typ ThisComponent.Doc...

bin verwirrt - irgendwelche Tips?