[geloest] Aus sCalc heraus ein Draw Doc oeffnen und zeichnen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [geloest] Aus sCalc heraus ein Draw Doc oeffnen und zeichnen

Re: Aus sCalc heraus ein sDraw Doc oeffnen und zeichnen

von Wolf » Fr, 13.02.2009 21:01

Hallo,
Also ich habe das Problem geloest.

Wenn ein Draw Document erstellt wird und in diesem Document gezeichnet werden soll, und das aus einem anderen Document heraus per Makro, dann darf keine Anzeige (bei mir war es der Fall) im aufrufenden Dokument (also Calc) aktualisiert werden.

1.) Ich hatte noch einen Dialog auf der Oberflaeche des Calc-Dokumentes laufen, der mir alle Vorgaenge protokolliert.
Waehrend des Zeichnens habe ich nun das protokollieren abgeschaltet.
2.) Waehrend das Draw-Dokument erstellt wurde, lief mein Makro weiter und griff auf Zellen des Calc Dokuments zu, um ein Datenfeld zu beladen. Das hat dann zum vermeintlichen Abbruch des Zeichnens gefuehrt, was in Wahrheit aber fehlende Daten im Datenfeld waren. Es gab also nichts mehr zu zeichnen.
3.) Alle vorbereitenden Schritte (Parameter erstellen/berechnen, Datenfelder beladen u.s.w.) erledige ich nun vor dem Erstellen des Draw-Dokumentes und nur noch das Zeichnen selber wird ausgefuehrt nach dem das Draw-Dokument erstellt wurde.

Kurz:

vorbereitende Berechnungen ---> Draw Dokument erstellen ---> zeichnen ---> Fertig

Dank Euch fuer die Hilfe

Wolf

[geloest] Aus sCalc heraus ein Draw Doc oeffnen und zeichnen

von Wolf » Fr, 13.02.2009 01:40

Hallo,

folgendes Problem.

ich habe in Calc etwas errechnet woraus ich daten erstelle, die ich per Makro aus dem sCalc Dokument heraus in ein sDraw Dokumment zeichnen will.

Also per Makro aus dem Calc-Dokument:

Code: Alles auswählen

Sub Zeichnung_erstellen (oDoc as object)
' Neues Document kreieren -------------------------------------
' oDoc is the new draw document as an object
'--------------------------------------------------------------
dim Url as string
dim Dummy()

Url = "private:factory/sdraw" 
oDoc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, "Dummy()")
End Sub
die Zeichnung erstellen und dann weiter zu zeichnen.

Problem
Das klappt schon, aber sobald die Zeichnung auf dem Bildschirm erscheint stoppt das Makro und zeichnet weiter im Nirvana.
Nochmal in deutsch.

Es sollen 15 Rechtecke gezeichnet werden (im Draw Dokument)!
Das makro befindet sich vollstaendig im Calcdokument und soll alles von dort aus erledigen!
Also o.g. Routine aufgerufen "Zeichnung_erstellen (oDoc as object)" und
Zeichenroutine startet.
Sobald aber das Draw-Dokument auf dem Schirm erscheint, stoppt das Makro oder zeichnet halt igendwo weiter. Wo weiss ich nicht. Jedenfalls sehe ich von 15 Rechtecken nur 4. Es koennen auch drei sein, kommt darauf an wie schnell das neue Document auf dem Schirm erscheint.

Wie kann ich das erscheinen des Dokumentes verhindern, damit das Makro aus Calc das zeichnen beenden kann?

Ich danke im Voraus.

Wolf

Nach oben