per script csv Datei aus Tabelle erstellen mit Dialog

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

Moderator: Moderatoren

Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: per script csv Datei aus Tabelle erstellen mit Dialog

Beitrag von lorbass »

piet hat geschrieben:Ist so etwas überhaupt mit einem Script möglich.
In der Kategorie OOo Basic und Java finden sich gleich im ersten sticky Post Informationen zur StarBasic-Programmierung, die Stephan zusammengestellt hat, darin auch ein Link auf Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ.

Für dich von Interesse dürfte 6.1.15 Wie kann man einen Öffnen- oder Speichern-Dialog aufrufen? sein.

Gruß
lorbass
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: per script csv Datei aus Tabelle erstellen mit Dialog

Beitrag von F3K Total »

Nur ein Schuß ins Blaue:

Code: Alles auswählen

Sub my_cvs
Dim myProps(1) as New com.sun.star.beans.PropertyValue
sPath="/home/user"
sFile="mycsv.csv"

'Dim Dialogtyp(0)
'DialogTyp(0) =com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_SIMPLE
myDialog=createunoservice("com.sun.star.ui.dialogs.FilePicker")
'myDialog.initialize(DialogTyp())

myDialog.setdefaultname(sFile)
myDialog.appendfilter("Text CSV",sFile)
myDialog.execute
FileName=MyDialog.Files(0)

sUrl=ConvertToUrl (FileName)
myProps(0).Name = "FilterName"
myProps(0).Value ="Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="59/9,34,Unicode (UTF-8) ,1,1/1/2/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
Martin312
Beiträge: 1
Registriert: Do, 20.02.2014 13:37

per script csv Datei aus Tabelle erstellen mit Dialog

Beitrag von Martin312 »

Welche OO-Version und welches Betriebssystem setzt Du ein?

Welcher Fehlermeldungstext kommt?
Ich habe es unter OO3.1 und 4.0.1 unter Windows versucht. Die von Dir angegebene Stelle funktioniert bei mir.
Nach der Beschreibung sucht Du den FolderPicker anstelle des FilePickers?

Code: Alles auswählen

Sub my_cvs
    ON ERROR GOTO Errorhandler
    Dim myProps(1) as New com.sun.star.beans.PropertyValue
' X-System
'    sPath = "/home/user"
' Fenster-System?
    sPath = ENVIRON("HOMEDRIVE") + ENVIRON("HOMEPATH") + "\Eigene Dateien"
    sFile = "mycsv.csv"
    myDoc = ThisComponent

    myProps(0).Name = "FilterName"
    myProps(0).Value = "Text - txt - csv (StarCalc)"
    myProps(1).Name = "FilterOptions"
    myProps(1).Value = "59/9,34,Unicode (UTF-8) ,1,1/1/2/1" 'string mit den Optionen

    myDialog = createunoservice("com.sun.star.ui.dialogs.FolderPicker")
    myDialog.setDisplayDirectory(sPath)
    myDialog.setTitle("Verzeichnis zum Speichern der CSV-Datei auswählen")

    ret = myDialog.execute
    Select case ret 
      	case 0 ' Abbrechen

      	case 1 ' OK gedrückt
 	        sUrl = ConvertToURL(myDialog.getDirectory + sFile) ' hier noch ggf. prüfen, ob der  gewählte Pfad auf einen Trenner ("/"oder "\")endet
 	        myDoc.storeAsUrl(sUrl, myProps()) 
    end select
    exit sub

Errorhandler:
    MsgBox "Fehler" + chr(13) + err + ": "+ ERROR + chr(13) + "Zeile: " + erl 

End Sub
Die MsgBox gibt ev. etwas deutlichere Hinweise...
Wenn Du die IDE geöffnet hast und einen Brechpunkt setzt, sollte das Skript auch bei der Betätigung des Buttons im Tabellendokument unterbrechen.

Gruß
Martin
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: per script csv Datei aus Tabelle erstellen mit Dialog

Beitrag von komma4 »

da gibt es doch noch einen Schalter (Extras>Einstellungen>OpenOffice>Allgemein>Öffnen-/Speichern-Dialoge), der auch mal für unterschiedliches Verhalten beim Scripting gesorgt hatte... ob das für die verwendeten Brand-Varianten auch so ist?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten