Gelöst- PrintPreview

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Gelöst- PrintPreview

Beitrag von moritz »

Hallo, ich möchte ein Calc- Dokument öffnen und eine bestimmte Tabelle aktiv setzen.
Eine eventuelle Seitenansicht muß vorher geschlossen werden. Das funktioniert auch grundsätzlich, hier ein Ausschnitt.

Wenn Seitenansicht aktiv, dann:
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())
oTabelle = ThisComponent.getSheets().getByName(sTabelle)
ThisComponent.CurrentController.setActiveSheet(oTabelle) -> Fehlermeldung

Es fehlt augenscheinlich eine Bildschirmaktiualisierung.
Wenn ich vor der Zeile "ThisComponent.CurrentController.setActiveSheet(oTabelle)" eine MsgBox aufrufe funktioniert das Ganze.
also z.B. so: Msgbox "Schalte auf Tabellenansicht um."
Diese Lösung mit der MsgBox finde ich allerdings nicht so toll. Kann mir jemand einen Tip geben, wie ich ohne diese Zeile die Ansicht aktualisieren kann?
Besten Dank
Moritz
moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Re: Gelöst- PrintPreview

Beitrag von moritz »

Das Problem ließ sich mit einem Wait- Befehl lösen.
wait 100
Moritz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Gelöst- PrintPreview

Beitrag von Stephan »

Es fehlt augenscheinlich eine Bildschirmaktiualisierung.
Da bin ich nicht gänzlich sicher. Wenn ich es hier teste scheint der Zugriff auf ThisComponent nach der Umschaltung nicht sauber zu klappen, da ich teils Fehlermeldungen bekomme.
Es wäre gut wenn Du das genau nachprüfst, dann hilft eine Do-Loop-Schleife zum WArten bis der ZUgriff sauber möglich ist.

Als Holzhammermethode hilf wohl ein

Code: Alles auswählen

Wait 100


(den Wert 100 kannst Du auch verringern oder erhöhen, mache ihn nur so groß wie nötig, 100 sind 0,1 Sekunden WArtezeit)

statt Deiner Zeile:

Code: Alles auswählen

Msgbox "Schalte auf Tabellenansicht um."

Gruß
Stephan

Sorry, Du hattest ja nun schon die LÖsung gefunden, ich hatte meine antwort formuliert und zwischenzeitlich nicht aktualisiert.
Antworten