mehrere Dokumente in einem Fenster

Setup und Komponenten-übergreifende Probleme.

Moderator: Moderatoren

DrMartinus
*
Beiträge: 16
Registriert: Fr, 10.10.2003 16:27

mehrere Dokumente in einem Fenster

Beitrag von DrMartinus »

In der Version 5.2 von StarOffice gab es die Möglichkeit, mehrere Dokumente in einem Fenster gleichzeitig offen zu halten, die dann mittels Tabs oder Buttons angeklickt werden konnten. Deswegen und aus anderen Gründen bin ich bei SO 5.2 geblieben.
Nun habe ich zum Ausprobieren OO 1.1 heruntergeladen. Es ist einen großen Sprung weiter gekommen, hat viele von den Problemen, die ich zuvor noch bemängelt hatte, beseitigt, aber es scheint immer noch nicht die Möglichkeit zu geben, mehrere Dokumente in einem Fenster offen zu halten (der Vorteil ist schlicht: diverse Dokumente, die ich täglich, aber nicht ständig, update, stehen mir ohne lästiges Öffnen beim Start von SO zur Verfügung).
Wie kann ich diese Funktion in irgendeiner Weise in OO 1.1 emulieren? Etwa dadurch, dass die Dokumente, die ich zuvor offen hatte, wieder beim Starten geöffnet werden? Alle bisherigen Versuche in dieser Richtung haben nicht geklappt. Auch die Liste der zulketzt offenen Dokumente ist zu kurz, nur vier Stück, ich habe etwa 8 Dokumente, auf die ich immer wieder zugreife und die ich deswegen (vorzugsweise nicht in individuellen Fenstern) offen halten möchte.
Für Vorschläge wäre ich sehr dankbar![/list]
Dr. Martinus
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Mehrere Dokumente...

Beitrag von Toxitom »

Also, es gibt folgende Möglichkeiten:
Die Liste der zuletzt geöffneten Dokumente kannst Du verändern durch editieren der Datei "...\OpenOffice.1.1.0\share\registry\schema\org\openoffice\ofice\common.xcs"
Dort suchst du nach dem Schlüssel

Code: Alles auswählen

<prop oor:name="PicklistSize" 00r:type="xs:int">
<constraints>
    <minInclusiv oor:value="="/>
    <maxInclusiv oor:value="9"/>
</constraints>
    <value>4<value/>
</prop>
Ändere die Zahl "4" in deinen gewünschten Wert, speichern, OOo beenden (auch Schnellstarter), dann sollte es eigentlich funktionieren.

Der zweite Punkt (benötige Dokumente öffnen) liesse sich durch ein Macro recht leicht lösen, insbesondere, wenn die Dokumente immer den gleichen Namen haben.
Im übrigen ist es eigentlich kein Unterscheid, ob alle Dokumente in einem Fenster geöffnet sind oder in einzelnen Fenstern. Du kannst alle Fenster Minimieren und erhältst eine zusammengefasste Liste in der Taskleiste (bei mir Win XP). Daraus kannst Du dann jederzeit wählen.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
DrMartinus
*
Beiträge: 16
Registriert: Fr, 10.10.2003 16:27

Beitrag von DrMartinus »

Herzlichen Dank erstmal für die Antwort. Ich habe jetzt erstmal einen Testlauf gemacht, es scheint gut zu klappen. Nun bin ich mit den Makros überhaupt nicht vertraut. Die Hilfe ist zwar schon ganz brauchbar, aber das wird wohl eine Weile dauern, bis ich damit richtig klarkomme. Mit dem Aufnehmen des Makros geht's jedenfalls, nur muss ich da dann wohl alle Dokumente in einem Rutsch öffnen und verkleinern (während der Makro-Aufnahme), damit diese Aufgabe das Makro dann beim Programmstart für mich übernimmt. Sehe ich das richtig? Oder kann ich mehrere Makros beim Programmstart ausführen lassen?
Als ich versuchte, das Makro, mit dem ein Dokument geöffnet wird, zu editieren, sah ich doch alt aus:

Code: Alles auswählen

rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:Open", "", 0, Array())
Das war's. Nirgendwo ein Hinweis auf das dokument, das da nun eigentlich geöffnet werden soll. Das muss wohl in einer anderen Funktion stehen, aber wie ich daran komme, habe ich noch nicht rausgefunden. Gibt's dazu Ideen oder Vorschläge? Jedenfalls funktioniert das Makro so, wie ich es mir vorstelle, auch wenn ich es immer noch nicht so gut finde, dass ich für jedes Dokument ein eigenes Fenster aufmachen muss - aber ich bin ja kompromissbereit. Sonst ist OO 1.1 nämlich wirklich super!
Dr. Martinus
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Dokumente öffnen

Beitrag von Toxitom »

Also, dem Macro-Recorder trau ich nicht so recht. Manchmal weis er nicht so recht weiter und beendet die Aufzeichnung. Ich bezweifel, dass dein Code-Stück funktioniert.
Also, Dokumente kannst du wie folgt öffnen:

Code: Alles auswählen

sub main  
      dim oDoc as object
      dim arg()
      sURL = "file:///d:/irgendeinen/Pfad/datei.sxw"

      Doc=StarDesktop.loadComponentFromURL(sURL,"_blank", 0, arg())
end sub
Also kannst Du dir theoretisch eine Schleife bauen, die deine neun Dokumente hintereinander läd.

Wenn Du ein solches Macro in ein lerrem Dokument schreibst und das Macro dann an das Ereignis "beim öfnen" bindest, so werden automatisch alle gewünschten Dokumente geöffnet. Dann brauchst Du nur noch zum Schluss dein Startdokument wieder schliessen, es bleiben deine gewünschten Dokumente offen.

Code: Alles auswählen

sub init
     dim oDocMain as object
     oDocMain = thisComponent
     main            ' hier ruftst Du dein anderes Macro auf
     oDocMain.close(-1)
end sub
Und wenn du noch mehr automatisieren willst, so lässt du per Autostart dieses Dokument beim Systemstart ausführen.
Wahrscheinlich gibt es auch noch eine Möglichkeit, die geöffneten Fenster in die Taskleiste zu verkleinern, aber mir fällt gegenwärtig keine ein.

Na dann, viel Spass
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
hotte
*
Beiträge: 18
Registriert: Sa, 17.01.2004 13:57

Beitrag von hotte »

Hai.

Ich habe hier jetzt 2-3 Stunden gelesen und mir etliche Macros heruntergeladen, von denen ich meine, sie könnten mir helfen - anscheinend bin ich eben zu grün um die Nase.

Was will ich?

1. Ich habe OO geöffnet. - kann ich.
2. Ich öffne ein Dokument - kann ich auch
3. ich möchte aus einem von mir neu kreirten Menü "ystral" diverse Dockumente öffnen - Menü erscheint, aber öffnen tut sich nix. Es gibt auch keine Fehlermeldung.

Als Code habe ich mir das folgende zum Öffnen eines Dokumentes mit Hilfe eines Makros hier heruntergeladen und mit meinem Menü verknüpft.


sub machaufdieTuer
dim Doc as object
dim arg() rem was übergibt dieser parameter?
sURL = "file:///c:/a.sxw"
Doc=StarDesktop.loadComponentFromURL(sURL,"_blank", 0, arg())
end sub


-> geht nicht ... es tut sich nix. Also gar nix. Bricht nicht ab, keine meldung absolut null.
ich zu doof oder OO zu mächtig.

Evtl. die / durch \ ersetzen wegen Windows (2K) ??
Auch schon probiert ohne erfolg

Ich weiß es nicht.
habe erstmal die OO Programmierhilfe ausgedruckt (230 pages ...)

evtl hilft mir jemand kurz und schnell bevor ich die 230 Seiten durchgeblättert habe :wink:


Noch schöner wäre natürlich, wenn ich bei geöffnetem, OO mein eigenes Menü sehen könnte und dann auswählen (so wie damals bei 5.2, diese Randleiste fand ich schon extrem praktisch - schde, daß es die nicht mehr gibt...)
Aber leider kann ich eigene Menüs ausschließlich dann erstellen, wenn ich irgendein File bereits geöffnet habe ..

claus
claus


-----------------------------------------
Wenn einer der mit Mühe kaum
gekletter ist auf einen Baum ...
Gesperrt