Formular Dateiauswahl zum Speichern

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formular Dateiauswahl zum Speichern

Re: Formular Dateiauswahl zum Speichern

von Luke78 » Do, 23.05.2013 19:32

Danke für den Tip, leider bekomm ich es aber nicht ans Laufen.

Folgender Aufruf:

Code: Alles auswählen

sPath = replace(  oDocument.URL, oDocument.Title, "")
Tools.ModuleControls.storeDocument( oDocument, Array("MS Excel 97"), ReportName, sPath)
In StoreDocument taucht dann an folgender Stelle der Fehler "Objektvariable nicht belegt" auf:

Code: Alles auswählen

AddFiltersToDialog(FilterNames(), oStoreDialog)
Im Beobachter sind allerdings beide belegt.

EDIT: Auch wenn ich die URL mit ConvertFromURL umwandle bleibt der Fehler.
Irgendeine Idee?

Re: Formular Dateiauswahl zum Speichern

von komma4 » Do, 23.05.2013 17:07

Sieh' Dir doch mal die Funktion StoreDocument in der Bibliothek Tools Deiner Standard-Installation an.

Wird zwar nicht mit UNO gearbeitet - funktioniert aber gut (auch mit Filter)

Re: Formular Dateiauswahl zum Speichern

von Luke78 » Do, 23.05.2013 09:31

Oh manchmal steht man echt auf dem Schlauch, den uno.Service SaveAs hatte ich eh schon benutzt.
Hatte dem nur Pfad un Filter mitgegeben um das ganze als Excel speichern zu können.

Wenn ich den Pfad raus nehme läuft es auch, allerdings ignoriert er dann den Filter.
Gibt es eine Möglichkeit die Dateitypauswahl vorauszuwählen?

Bei mir sieht der entsprechende Abschnitt aktuell so aus:

Code: Alles auswählen

dim pArg(1) 	as new com.sun.star.beans.PropertyValue

pArg(0).Name 	= "FilterName"
pArg(0).Value 	= "MS Excel 97"

oDispatcher.executeDispatch( oFrame, ".uno:SaveAs", "", 0, pArg())

Re: Formular Dateiauswahl zum Speichern

von F3K Total » Do, 23.05.2013 06:13

Hi, dies geht z.B.

Code: Alles auswählen

Sub S_Save_as
    dim document   as object
    dim dispatcher as object
    Dim aProps(0) as new com.sun.star.beans.PropertyValue
    aProps(0).Name  = "Hidden"
    aProps(0).Value = true	
    oCalcDoc = StarDesktop.loadComponentFromURL("private:factory/scalc","_blank", 0, aProps)
    osheet = oCalcdoc.sheets(0)
    ocell = osheet.getcellbyposition(0,0)
    ocell.string = "Na, dat klappt doch!"
    oFrame = oCalcDoc.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(oFrame, ".uno:SaveAs", "", 0, Array())   
    oCalcDoc.close -1
end Sub
Gruß R

Formular Dateiauswahl zum Speichern

von Luke78 » Do, 23.05.2013 01:30

Hallo zusammen

Ich bin gerade dabei meine Reports benutzerfreundlicher zu gestalten.
Im Hintergrund erstellen und als Excel oder PDF speichern funktioniert auch tadellos.
Allerding wollte ich es ermöglichen, dass Zielpfad und Dateiname vom Benutzer bestimmt werden können.

Leider scheint es, dass BASE in Formularen nur ein Bedienelement zum öffnen von Dateien zur Verfügung stellt.
Ich könnte da zwar existierende Dateien auswählen, den Pfad auslesen und überschreiben, aber das ist dann doch nicht ganz das gewollte.
Schön wäre es einen Dateidialog zu bekommen der wie bei einem klassischen "Speichern unter" funktioniert.

Nach oben