Statuszeile und Dokumente wechseln

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: Statuszeile und Dokumente wechseln

von Tagge » Fr, 11.08.2006 12:55

Danke schon mal für die Antwort...
War vielleicht etwas ungenau beschrieben....
Mittlerweile funktioniert es mit den verschiedenen Dokumenten aber... war ein bisschen blöd von mir... ich hatte immer Fehler bekommen, war aber nur weil ich nicht dran gedacht hatte, dass er das falsche Fensrter nimmt...
Naja, dann bin ich ja mal gespannt, wie das mit der Statusleiste geht ;)

Bis denn Tagge

von Toxitom » Fr, 11.08.2006 09:00

Hey Tagge,

zum ersten Teil deiner Frage muss ich dir einen Codeteil raussuchen - dauert ein wenig....

Zum zweiten:
Das größere Problem ist die Frage wie ich mit einem Makro zwischen 2 Dokumenten wechseln kann...
Wie meinst du das? Sichtbar? Im Grunde ist jedes Dokument ein eigenes Objekt - und das kannst du beliebig ansprechen. Nehmen wir an, du rufst dein Makro aus einem dritten Dokument auf und lädst dann zwei weiter Dokumente:

Code: Alles auswählen

Dim oDoc1 as object, oDoc2 as object, oDoc3 as object
dim sUrl1 as string, sURL2 as string
dim arg()
sUrl1 = convertToURL("d:\Beispiele\testdatei1.ods")
sUrl2 = convertToURL("d:\Beispiele\testdatei2.ods")
oDoc1 = StarDesktop.loadComponentFromURL(sUrl1, "_blank", 0, Arg())
oDoc2 = StarDesktop.loadComponentFromURL(sUrl2, "_blank", 0, Arg())
Jetzt hast du deine zwei objekte - und die kannst du jeweils direkt ansprechen, Textcursor erzeugen, manipulieren etc. Das ist unabhängig davon, was auf dem Bildschirm gerade zu sehen ist.

Alle Dokumente sind Teil des StarDesktops, dem Wurzelobjekt. Sind die Dinger also schon offen, so kannst du sie auch dort erreichen:
Das folgende Makro liefert dir eine Übersicht aller aktuell offenen Instanzen (OOo Fenster), da musst du eben entsprechende Analysemethoden einsetzen, um deine Dokumente zu identifizieren.

Code: Alles auswählen

sub alleFrames
  Dim oFrames as object, oFrame as object, i%, s$
  oFrames = StarDesktop.getFrames()
  For i = 1 to oFrames.getcount()
     oFrame = oFrames.getByINdex(i)
      s = s & CStr(i-1) & " : " & oFrame.Title &  Chr(10)
  next
  msgbox s
end sub
Und so kommst du Stück für Stück an deine Dokumente :-)

Gruss
Thomas

Statuszeile und Dokumente wechseln

von Tagge » Do, 10.08.2006 15:01

Guten Tag,

da ich auch nach langem Suchen und lesen verschiedener FAQs und Dokumentationen, keine zufriedenstellende Antwort auf meine Fragen gefunden habe, werde ich nun hier nachfragen...

Einmal geht es darum, wie ich einen beliebigen Text in der Statusleiste anzeigen kann.. also z.b. einen Zähler.

Das größere Problem ist die Frage wie ich mit einem Makro zwischen 2 Dokumenten wechseln kann...
Also in meinem aktiven Dokument einen TextCursor zu erstellen ist kein Problem... aber wie komme ich an das zweite Dokument ran um auch dort einen TextCursor zu erstellen?
Ich wäre sehr dankbar für Hilfe!

MfG Tagge

Nach oben