Mit dem Service FilePicker von com.sun.star.ui.dialogs
Sub TestDialog
MyDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
myDialog.displaydirectory="c:\"
MyDialog.execute
FileName=MyDialog.Files(0)
End sub
Mit der Propertie Files wird beim Öffnen des Dialoges ein Array bereitgestellt. Als
Standard ist
die Mehrfachauswahl nicht möglich. Wenn diese gewünscht wird ist dieser Modus zu aktivieren
und dann das Array entsprechend auszulesen.
Der Mehrfachauswahlmodus (nur beim Öffnen-Dialog) wird mit:
myDialog.setMultiSelectionMode(true)
aktiviert.
Mit DisplayDirectory kann das Startverzeichnis festgelegt werden.
Um nun verschiedene Dialogtypen für Öffnen und Speichern zu bekommen, muss der Dialog
mit einer Konstanten initialisiert werden.
Dim Dialogtyp(0)
DialogTyp(0) =com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
myDialog.initialize( DialogTyp())
Achtung wenn man den Pfad festlegen will muß dies nach
myDialog.initialize( DialogTyp())
erfolgen.
Mögliche Konstanten sind dabei:
Für den Öffnen Dialog
FILEOPEN_SIMPLE = Standard Öffnen Dialog
FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE = Mit Checkbox Vorschau
FILEOPEN_PLAY = Mit "Abspielen" Button
FILEOPEN_READONLY_VERSION = Mit ReadonlyButton
FILEOPEN_LINK_PREVIEW = Verlinken und Vorschau
Für den "Speichern-unter"-Dialog
FILESAVE_SIMPLE = Standard Speichern Dialog
FILESAVE_AUTOEXTENSION_PASSWORD = Speichern mit Automatischer Extension und
Password
FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS = dito mit Filtern
FILESAVE_AUTOEXTENSION_SELECTION =Speichern mit Automatischer Extension und
Selection
FILESAVE_AUTOEXTENSION_TEMPLATE = Mit Listbox Formatvorlage
FILESAVE_AUTOEXTENSION = Automatische Extension
Bei dem "Speichern unter"-Dialog gibt es aber einen Haken: Die möglichen
Dateiformate
werden nicht angezeigt.
Diese kann man aber mit der Funktion appendfilter
anhängen. Danach muß man den
ausgewählten Filter über die Propertie "currentfilter" abfragen.
Aufgrund des Filters muß dann der entsprechende Filter zum Speichern verwendet werden.
myDoc = thisComponent
DialogTyp(0) = com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION
MyDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
myDialog.initialize( DialogTyp())
myDialog.appendfilter("MS Word 97","Fi")
myDialog.appendfilter("MS Word 95","Filtername")
MyDialog.execute
FileName=MyDialog.Files(0)
Filtername=myDialog.currentfilter
Dim myProps(0) as New com.sun.star.beans.PropertyValue
sUrl= MyDialog.Files(0)
myProps(0).Name="FilterName"
myProps(0).Value = myDialog.currentfilter
REM Achtung dann muß der Schreibweise des
Filters (siehe Wie lauten die möglichen Filter
zum
REM rem Speichern und Exportieren von Dokumenten?entsprechen
myDoc.storeAsUrl(sUrl,myProps())