Man kann ein Dokument auch öffnen, ohne dass es für den Anwender sichtbar ist.
Laut der StarBasic-Dokumentation muss man dafür den Paramter für das Zielframe auf
_hidden
setzen.
oDocument = StarDesktop.loadComponentFromURL(url,
"_hidden", 0, myFileProp() )
Das geht aber leider nicht.
Der richtige Weg geht über den Mediadescriptor, der auch die Filtereinstellungen festlegt.
Sub DateiVerstecktOeffnen
url=converttourl("C:\test.sxw")
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name="Hidden"
myFileProp(0).value=True
oDocument = StarDesktop.loadComponentFromURL(url,
"_blank", 0, myFileProp() )
end sub
Nach dem Öffnen steht das Dokument als Objekt zur Verfügung. Man sollte daran es später
auch zu schließen und nötigenfall zu speichern.
Ob ein nicht sichtbares Dokument geöffnet ist kann man über das Enumartion-Objekt
der
geöffneten Dokumente prüfen.
oComponents = StarDesktop.getComponents()
oDocs = oComponents.createEnumeration()
Do While oDocs.hasMoreElements()
oDoc = oDocs.nextElement()
Loop