filepicker - preseleccionarle un archivo al abrir

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
arivas_2005
Mensajes: 162
Registrado: Mié Nov 16, 2011 6:01 pm

filepicker - preseleccionarle un archivo al abrir

Mensaje por arivas_2005 »

Saludos,
tengo el siguiente código para visualizar fotos con filepicker

Código: Seleccionar todo

	

	If Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools") Then
	   GlobalScope.BasicLibraries.loadLibrary("Tools") 
	endif

	sRutaURL = ThisComponent.getURL()  		
	sRutaCompleta = ConvertFromUrl( sRutaURL )	
	sRuta = DirectoryNameoutofPath(sRutaCompleta, GetPathSeparator()) & GetPathSeparator()	
	cFileName=nombre_lista & ".jpg"
 	sRuta=sRuta & "FOTOS" & GetPathSeparator() & codigo'  & GetPathSeparator() 
	'msgbox sRuta	

       Dim dlg as Object
	Dim oDoc as Object
	Dim mNoArgs()
	Dim sURL as String

	dlg = CreateUnoService( "com.sun.star.ui.dialogs.FilePicker" )
	
	Dim Dialogtyp(1)
	DialogTyp(0) = com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW 'FILEOPEN_LINK_PREVIEW ''FILESAVE_AUTOEXTENSION
	DialogTyp(1) =com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION

	dlg.initialize(DialogTyp())
	dlg.Title = " ---->>>    " & nombre_lista  ' "Test"

    Dim oConfigProvider as Object
    Dim oRegistryKeyContent as Object
    Dim aNodePath(0) as new com.sun.star.beans.PropertyValue
    oConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
    aNodePath(0).Name = "nodepath"
    aNodePath(0).Value = "/org.openoffice.Office.Common/Path/Info"
    oRegistryKeyContent = oConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", aNodePath())
    oRegistryKeyContent.WorkPathChanged = true
    oRegistryKeyContent.commitChanges

    dlg.DisplayDirectory = ConvertToURL( sRuta )
    dlg.appendFilter("JPG - JPEG", "*.*" )
    dlg.setValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_PREVIEW, 1, true) '0, False
   ' dlg.SetShowState=True
	If dlg.Execute = 1 Then 
		sURL = dlg.Files(0)
	EndIf
	
pero, las listas de imagenes son extensas y quisiera restringir más el filtrado a nombres con alguna subcadena.

A golpe intenté en la linea dlg.appendFilter("JPG - JPEG", "*.*" ) reemplazar "*.*" por una subcadena como "mar*.*" y no aparecen nombres.
Se podrá precisar un nombre de archivo para preseleccionar al abrir el filepicker?
Gracias
Libreoffice 4.7
Puppy slacko 6 y windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: filepicker - preseleccionarle un archivo al abrir

Mensaje por mauricio »

Que yo recuerde, los filtros solo son por extensión, pero... si usas los diálogos del sistema operativo y este te permite filtrar, deberías poder hacerlo.
zforo.png
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder