Seite 1 von 1

Zwischen Dokumenten wechseln (Calc)

Verfasst: Mo, 11.10.2004 19:17
von mecki_45
Hallo zusammen,

kleine Frage an die Makroexperten:

Aktion:
=======
Im geöffneten Sheet "Test_01" habe ich Zeilen markiert und ins Clipboard kopiert.
Jetzt öffne ich das Sheet "Copy_01" und kopiere dort den Inhalt des Clipboards hinein.


Frage:
======
Wie komme ich jetzt wieder in das Sheet "Test_01" zurück?


Danke im voraus.


Grüßle
Alex

Verfasst: Di, 12.10.2004 08:26
von Charly
Hallo Alex!

Wenn du deine Aktion per Makro verwirklichen konntest, beantwortet sich deine Frage eigentlich von selbst.
Um auf Dokumente per Makro zugreifen zu können, brauchst du sie als Objekt. Beim aktuellen geöffneten Dokument geschieht das durch den Befehl:

Code: Alles auswählen

Calc1 = ThisComponent
Beim zweiten Dokument geschieht dies beim Öffnen

Code: Alles auswählen

Dim Dummy()
Pfad = "C:\Test\Copy_01.sxc" 
Url = ConvertToUrl(Pfad) 
Calc2 = StarDesktop.loadComponentFromUrl(Url, "_blank",0,Dummy())
Mit den Objektvariablen Calc1 und Calc2 kannst du dann nach herzenslust zwischen den Dokumenten wechseln.

Gruß
Charly

Verfasst: Di, 12.10.2004 19:19
von Stephan
@Charly

Du hast recht.

@Alex

Aber vielleicht geht es auch um die Sichtbarkeit im Sinne welches Fenster den Fokus hat und oben ist?
Wenn Du per Code die Zweite Datei öffnest bekommt diese den Fokus, um den Fokus wieder auf die erste zu setzen sollte das hier gehen (aus: http://www.oooforum.org/forum/viewtopic ... w+activate )

Code: Alles auswählen

Sub Main
'hier wäre Dein Code
doc = ThisComponent 
doc.currentcontroller.frame.containerwindow.toFront 
End Sub
Hinweis: ThisComponent ist zwingend, CurrentComponent würde hier nicht funktionieren.


Gruß
Stephan

Verfasst: Do, 14.10.2004 21:11
von Charly
Hallo Alex!

Wenn du wie oben gesagt, beim Öffnen der Datei dem Dokument den Namen Calc2 zugeordnet hast, genügt zum Schließen folgender Befehl:

Code: Alles auswählen

Calc2.close(false)
Gruß

Charly

Verfasst: Mi, 20.10.2004 22:31
von mecki_45
Hallole Charly,

Danke für den Tipp, jetzt klappt dies.


Grüßle
Alex