Speichern ,standart speichern Dialog , Filter

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Frankvas
**
Beiträge: 20
Registriert: Mi, 19.05.2004 18:15
Wohnort: landkeis HE

Speichern ,standart speichern Dialog , Filter

Beitrag von Frankvas »

Ich möchte eine Tabelle üder den Standart Speichern Dialog speichern .
In dem Dialog werden aber keine Dateitypen angegeben . Wie muß ich den Dialog aufrufen um die Dateitypen auswählen zu können ?


sub speichern

DateiDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
dim Dialogtyp(0)
Dialogtyp(0)=com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
DateiDialog.initialize( DialogTyp())
DateiDialog.execute
end sub


gruß Frank
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Wenn Du einzelne Dateitypen oder Gruppen von Dateitypen auflisten willst dann so:

Code: Alles auswählen

sub speichern 
DateiDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker") 
dim Dialogtyp(0) 
Dialogtyp(0)=com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
DateiDialog.initialize( DialogTyp())
DateiDialog.appendFilter( "Graphics Files (bmp, gif, jpg)", "*.bmp;*.gif;*.jpg" )
DateiDialog.appendFilter("Textdateien (txt)", "*.txt")
DateiDialog.execute 
end sub


Wenn Du alle Standard-Dateitypen willst die OO in der Situation vorgeben würde kannst Du das per makro aufzeichnen:

Code: Alles auswählen

sub mak1
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, Array())
end sub
ob oder ob nicht gespeichert wurde kannst Du in der letzten Zeile als Rückgabe auch auslesen (BOOL), ich bin allerdings im Moment etwas überfragt falls Du im aufgeführten Fall weitere Rückgabewerte zur Verarbeitung benötigst, ich nehme an das Du die aus Array() auslesen kannst versucht habe ich es nicht.

Falls Du weiteres auslesen mußt hatte ich hier schon mal eine Code gepostet der das erläutert (speichern mußt Du dann aber gesondert, steht auch in dem Thread): viewtopic.php?t=1661#6286

Gruß
Stephan
Frankvas
**
Beiträge: 20
Registriert: Mi, 19.05.2004 18:15
Wohnort: landkeis HE

Speichern mit Standart Speichern Dialog

Beitrag von Frankvas »

Nach einigen Experiimenten htte ich folgendes Programm erstellt .
Es scheint sein Zweck zu erfüllen .

sub speichern
dim ok ,datei
dim filter as string
'doc dec####################
doc=StarDesktop.CurrentComponent
DateiDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
dim Dialogtyp(0)
Dialogtyp(0)=com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
DateiDialog.initialize( DialogTyp())
DateiDialog.appendFilter( "SO/OOo Tabellendokument (*.sxc)", "*.sxc" )
DateiDialog.appendFilter( "Graphics Files (bmp, gif, jpg)", "*.bmp;*.gif;*.jpg" )
DateiDialog.appendFilter("Textdateien (txt)", "*.txt")
ok=DateiDialog.execute
if ok=1 then
datei = dateidialog.getFiles()
filter=dateidialog.CurrentFilter
msgbox filter
URL = datei(0)
msgbox url
dim fileproperties(0) as new com.sun.star.beans.PropertyValue
fileproperties(0).Name="Filtername"
fileproperties(0).Value=filter

doc.storeAsUrl(URL,fileproperties())


end if
end sub



gruß Frank
Antworten