Wie verstecke ich ein ooo Dokument nach dem öffnen?
Moderator: Moderatoren
Wie verstecke ich ein ooo Dokument nach dem öffnen?
Moin Leute,
Ich habe mal gehört, dass man ein Open Office Dokument ( in meinem Falle wäre es ein Calc Dok.) nach dem öffnen verstecken kann. Dies wird wohl per zuweisen eines Makros nach dem öffnen geschehen (ist ja klar xD)
Ich denke mal eine möglichkeit wäre es Das Open Office Fenster einfach zu minimieren...gibt es noch mehrere Varianten?
und kann mir vielleicht jemand sagen wie ich dies mithilfe von Basic realisieren kann?
mfg sHeepy
Ich habe mal gehört, dass man ein Open Office Dokument ( in meinem Falle wäre es ein Calc Dok.) nach dem öffnen verstecken kann. Dies wird wohl per zuweisen eines Makros nach dem öffnen geschehen (ist ja klar xD)
Ich denke mal eine möglichkeit wäre es Das Open Office Fenster einfach zu minimieren...gibt es noch mehrere Varianten?
und kann mir vielleicht jemand sagen wie ich dies mithilfe von Basic realisieren kann?
mfg sHeepy
Hey Sheepy,
was verstehst du denn unter "verstecken"? Du kanst ein OOo Dokument "hidden" öffnen, dann ist es in der GUI nicht sichtbarm du kannst aber Probleme mit Makros auf die Inhalte zugreifen und sie manipulieren oder schreiben. Ist es das, was du meinst?
In dem Fall kannst du aber nur per Script auf das Dokument zugreifen, über die GUI ist es nicht erreichbar. Oder willst du das Fenster nur "minimieren", dann ist es normal per Gui erreichbar, hat nur im Moment nicht "offen" auf dem Bildschirm. Das sind aber zwei verschiedene Sachen
Beides ist realisierbar.
Version 1 :
Um ein Fenster komplett auszublenden, setzt du die Eigenschaft "visible" auf false:
Blendet das aktuelle Fesnster aus. Vorsicht- Vergiss es nicht wieder einzublenden! sonst gibt es später sicher Probleme! Und: wenn du in der IDE arbeitest, denke dran, jetzt ist die IDE das aktuelle Fenster. wenn du das ausblendest, kannst du keinen Code mehr manuell ausführen!
Um ein Dokument gleich "unsichtbar" zu laden, übergibst du den entsprechenden Parameter:
Na ja, und wenn du das Fesnster minimieren willst, so nimmst du ebenfalls den Frame und minimierst ihn 
Viele Grüße
Thomas
was verstehst du denn unter "verstecken"? Du kanst ein OOo Dokument "hidden" öffnen, dann ist es in der GUI nicht sichtbarm du kannst aber Probleme mit Makros auf die Inhalte zugreifen und sie manipulieren oder schreiben. Ist es das, was du meinst?
In dem Fall kannst du aber nur per Script auf das Dokument zugreifen, über die GUI ist es nicht erreichbar. Oder willst du das Fenster nur "minimieren", dann ist es normal per Gui erreichbar, hat nur im Moment nicht "offen" auf dem Bildschirm. Das sind aber zwei verschiedene Sachen

Beides ist realisierbar.
Version 1 :
Um ein Fenster komplett auszublenden, setzt du die Eigenschaft "visible" auf false:
Code: Alles auswählen
starDesktop.getCurrentFrame.getContainerWindow().visible = false
Um ein Dokument gleich "unsichtbar" zu laden, übergibst du den entsprechenden Parameter:
Code: Alles auswählen
dim Arg(0) as new com.sun.star.beans.PropertyValue
dim sUrl as string
sUrl = "File:///d:/beispiel/meineDatei.ods"
Arg(0).Name = "Hidden"
Arg(0).Value = true
vDoc = StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Arg())

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Hey Sheepy,
Sonst kauf dir besser ein Buch, das all das Wissen ein wenig aufbereitet hat (z.B. siehe Signatur
)
Gruss
Thomas
Na, das hier:Jetzt fehlt mir noch der Befehl zum schließen des Dokumentes
Code: Alles auswählen
oDoc.close(True)
Alles ist dokumentiert in der IDL, teil des SDKs. Kannst du dir im Internet runterladen oder auch online nutzen (schau mal bei api.openoffice.org). Aber: eigentlich nur zu verstehen, wenn du schon weisst, wonach du suchst.gibt es vielleicht irgendwo eine referenz wo diese ganzen befehle stehen?
Sonst kauf dir besser ein Buch, das all das Wissen ein wenig aufbereitet hat (z.B. siehe Signatur

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Ja, Dialog schliessen 
Solange du einen Dialog hast, wird dieser immer den Fokus erhalten - und somit aktiv im Vordergrund sein.
Bei "normalen" Fenstern kannst du ein beliebiges per Code "nach vorne bringen", geht aber nicht mit Dialogen.
Gruss
Thomas

Solange du einen Dialog hast, wird dieser immer den Fokus erhalten - und somit aktiv im Vordergrund sein.
Bei "normalen" Fenstern kannst du ein beliebiges per Code "nach vorne bringen", geht aber nicht mit Dialogen.
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- *
- Beiträge: 14
- Registriert: Do, 25.01.2007 15:37
Java-Code
Hi,
und wie sähe das in Java aus?
Code:
starDesktop.getCurrentFrame.getContainerWindow().visible = false
Ich habe das nur mit
officeApp.getDocumentService().constructNewHiddenDocument(arg0)
gefunden. Fall ist der, dass ich mehrere Dateien lade in verschiedenen OpenOffice Programmen und unter anderem Format abspeicher. Wenn ich einen Testlauf mache, ist das bei vier Dateien schon sehr anspruchsvoll, weil sich jedesMal die Oberfläche öffnet, statt sie einfach Hidden oder eben visible=false zu setzen. Das muss doch auch in Java gehen...
Schöne Grüße.
und wie sähe das in Java aus?
Code:
starDesktop.getCurrentFrame.getContainerWindow().visible = false
Ich habe das nur mit
officeApp.getDocumentService().constructNewHiddenDocument(arg0)
gefunden. Fall ist der, dass ich mehrere Dateien lade in verschiedenen OpenOffice Programmen und unter anderem Format abspeicher. Wenn ich einen Testlauf mache, ist das bei vier Dateien schon sehr anspruchsvoll, weil sich jedesMal die Oberfläche öffnet, statt sie einfach Hidden oder eben visible=false zu setzen. Das muss doch auch in Java gehen...

Schöne Grüße.