LibreOffice - Probleme mit Filepicker

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

Moderator: Moderatoren

Stephan
********
Beiträge: 10685
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

LibreOffice - Probleme mit Filepicker

Beitrag von Stephan » Fr, 09.11.2018 09:47

Hallo,

in (zumindest) LibreOffice 5.0.4 und LO 5.0.6 funktioniert der Filepicker nicht richtig.

mein Code ist:

Code: Alles auswählen

	auswahl = createunoservice("com.sun.star.ui.dialogs.FilePicker")
	With auswahl
		.SetMultiselectionMode(True)
		.appendFilter("ODF-Dateien (odt, ods)", "*.odt;*.ods")
		.SetTitle("Wählen Sie die Dateien zum Drucken")
	End With
	antwort = auswahl.execute
	if antwort = 1 then
			dateien = auswahl.Files
			j = UBOUND(auswahl.Files())

			Msgbox dateien(0)
		Else
			
			Msgbox "Keine Dateien ausgewählt, Makro wird beendet.",16,"Fehlerhafte Auswahl"
			Exit Sub
	end if


hierbei liefert Msgbox dateien(0) nicht die ausgewählte erste Datei, sondern das Verzeichnis.

Was kann man tun? LO soll nicht geupdatet werden.

außerdem: kennt jemand die/eine Fehlermeldung zu LO wo dieser Fehler bereits gemeldet wurde? Link?

Hinweis:
der Ausdruck:

Code: Alles auswählen

dateien = auswahl.Files
steht deshalb im Code weil, der eigentlich richtige Ausdruck:

Code: Alles auswählen

dateien = auswahl.getSelectedFiles
nicht funktioniert.


Gruß
Stephan




"

mikeleb
******
Beiträge: 742
Registriert: Fr, 09.12.2011 16:50

Re: LibreOffice - Probleme mit Filepicker

Beitrag von mikeleb » Fr, 09.11.2018 16:32

Hallo,
leider kann ich das Verhalten aufgrund fehlender Version nicht nachvollziehen.
Es könnte allerdings sein, dass sich der Filepicker in der Version so verhält, wie der Filepicker unter AOO (siehe http://www.openoffice.org/api/docs/comm ... l#getFiles), sprich da der MultiSelectionMode aktiviert wurde liefert der erste Eintrag "nur" den Pfad und die weiteren Einträge die Dateinamen. Das sollte allerdings nicht der Fall sein, wenn nur eine Datei ausgewählt wurde.
Es kann allerdings auch sein, dass das Betriebssystem da querschlägt (Windows 7 verweigerte mir mit LO5.3 und deinem Makro sowohl .SetMultiselectionMode als auch .SetTitle).
Versuche mal den undokumentierten office-eigenen Filepicker

Code: Alles auswählen

auswahl = createunoservice("com.sun.star.ui.dialogs.OfficeFilePicker")
Gruß,
mikeleb

Stephan
********
Beiträge: 10685
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: LibreOffice - Probleme mit Filepicker

Beitrag von Stephan » Sa, 10.11.2018 10:10

sprich da der MultiSelectionMode aktiviert wurde liefert der erste Eintrag "nur" den Pfad und die weiteren Einträge die Dateinamen
vielen Dank, genau das ist des Rätsels Lösung.


Mir ist das ganze Problem aktuell das erste Mal begegnet und .getSelectedFiles funktionierte bisher immer und funktioniert auch jetzt in aktuelleren Programmversionen. Handelt es sich nur um einen Fehler von LO 5.0.x, den man somit zukünftig wieder zur Seite legen kann? Oder ist .getSelectedFiles etwas was zukünftig bzgl. der API eher nicht mehr gepflegt werden wird, und irgendwann dann gänzlich deaktiviert?
Keine Ahnung ob Du dazu etwas weist.


Gruß
Stephan

mikeleb
******
Beiträge: 742
Registriert: Fr, 09.12.2011 16:50

Re: LibreOffice - Probleme mit Filepicker

Beitrag von mikeleb » Sa, 10.11.2018 15:11

Hallo Stephan,
wissen wäre zu viel gesagt.
Unter LO 5.3, 5.4 (die ich gerade parat habe) funktioniert .getSelectedFiles.
Wenn ich die API richtig verstehe (ich tappe da immer noch ohne Kompass durch die Wüste) ist es eher so, dass .getSelectedFiles die empfohlene Methode ist und .getFiles ist am Aussterben, siehe
https://api.libreoffice.org/docs/idl/re ... 01f77e1efb
Gruß,
mikeleb

Antworten