filepicker - preseleccionarle un archivo al abrir

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

filepicker - preseleccionarle un archivo al abrir

Notapor arivas_2005 » Mar Abr 16, 2019 3:27 am

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

Código: Seleccionar todo   Expandir vistaContraer vista
   

   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
arivas_2005
 
Mensajes: 144
Registrado: Mié Nov 16, 2011 6:01 pm

Re: filepicker - preseleccionarle un archivo al abrir

Notapor mauricio » Mié Abr 17, 2019 4:22 am

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
Avatar de Usuario
mauricio
 
Mensajes: 5827
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado