Hai mikele,
jetzt weiss ich wieder was ich vergessen hatte.
Meine vorherigen Worte stimmen alle ganz genau. Aber man MUSS differenzieren zwischen *geöffnet* und *neu erstellte - Leere - Datei*.
Geöffnet bedeutet, die Datei hat einen Namen und sie existiert für das Programm.
Neu erstellt heißt, sie existiert noch nicht wirklich, da sie noch nicht gespeichert wurde und in folge dessen keinen Namen hat. Man kann wohl per Makro mit ihr arbeiten, z.B. Daten eingeben, aber vom Betriebssystem wird sie halt nicht erfasst, denn physikalisch existiert sie nicht da sie ja nur im Arbeitsspeicher existent ist.
Ich weiss, klinkt alles etwas konfus.
Und wenn man jetzt einfach so eine neue Leere Datei erstellt, also ohne Makro, dann hat sie wohl auch noch keinen Namen aber sie wird halt in der Taskleiste angezeigt. Der Mensch kann nur in einer [als Beispiel] Calc-Datei arbeiten, wenn er sie sieht, während dem PC das vollkommen schnuppe ist da er mit und in ihr auch ohne sie anzuzeigen arbeiten kann.
Durch das Nachbarforum 'openoffice info' (Du kennst es ja auch

) war ich auf den so genannten *ComponentWalker* gestoßen. Damit kann man sich in Zahlen anzeigen lassen wieviele Dateien geöffnet sind, inklusive dem Makro-Editor. Er zeigt aber auf verlangen (wenn er dementsprechend programmiert wurde) die Dateinamen der existierenden Dateien an, alle anderen wie auch die nicht sichtbaren "neuen und leeren" Dateien werden als *Unbekannt* ausgegeben da sie ja noch halt unbekannt sind weil kein Dateiname zugeordnet ist. Aber nicht nur kein Dateiname ist zugeordnet, sondern auch keine Anwendung, und deshalb existiert sie auch nicht für das Betriebssystem und kann deshalb auch nicht verwaltet werden, nur LO (in diesem Falle) kann diese nicht existierende Datei verwalten.
Wenn Du, mikele, mit *setvisible* arbeiten willst, dann kannst Du doch das Makro ganz einfach auf das hier kürzen (das aber nur so am Rande).
Code: Alles auswählen
Sub Main
oDoc=thiscomponent
dim dummy()
oDoc2 = StarDesktop.loadComponentFromURL ("private:factory/scalc", "_blank", 0, dummy())
myDocCtrl2 = oDoc2.getCurrentController()
myDocCtrl2.getFrame().getContainerWindow().setvisible(false)
End Sub
Gruß
balu