Zwischen Dokumenten wechseln (Calc)

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

Moderator: Moderatoren

mecki_45
***
Beiträge: 69
Registriert: Mo, 23.02.2004 17:28

Zwischen Dokumenten wechseln (Calc)

Beitrag 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
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Beitrag 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
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag 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
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Beitrag 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
mecki_45
***
Beiträge: 69
Registriert: Mo, 23.02.2004 17:28

Beitrag von mecki_45 »

Hallole Charly,

Danke für den Tipp, jetzt klappt dies.


Grüßle
Alex
Antworten