[RESUELTO] Buscar todos los caracteres y pintar

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

[RESUELTO] Buscar todos los caracteres y pintar

Notapor physic » Jue Dic 20, 2018 1:35 pm

Saludos ,

sigue el archivo adjunto de LibreOffice y el archivo de Excel .

en el archivo excel tiene una macro de vba que busca en la columna "A" de la hoja de cálculo 1 todos los caracteres que se enumeran en la columna "B" de la hoja de cálculo 2 .

Si se encuentra en la columna "A" de la hoja de cálculo 1 los caracteres que están en la columna "B" de la hoja de cálculo 2, entonces pinta de color rojo .

es necesario convertir la macro vba de excel, para funcionar en LibreOffice, la macro debe ejecutar la misma operación en LibreOffice .


abrazos amigos .
Adjuntos
buscar caracteres.xls
(42.5 KiB) 94 veces
buscar caracteres.ods
(18.42 KiB) 98 veces
Última edición por physic el Mié Dic 26, 2018 8:30 pm, editado 1 vez en total
LibreOffice 5.4.4.2 >>> Windows 7
physic
 
Mensajes: 85
Registrado: Lun Oct 29, 2018 12:55 am

Re: Buscar todos los caracteres y pintar

Notapor mriosv » Vie Dic 21, 2018 12:28 am

Puedes hacerlo con formato condicional sin necesidad de macros

Ejemplo añadiendo formato condicional.
buscar caracteres.ods
(16.38 KiB) 105 veces


Ten en cuenta que dependiendo de la versión de LibreOffice, si lo guardas en formato excel tendrás que modificar la fórmula eliminando el punto delante de los asteriscos, pues los ficheros excel se abririan por defecto utilizando comodines en lugar de expresiones regulares.
https://wiki.documentfoundation.org/Rel ... th_ODF_1.2
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice 5 (Win10x64)
mriosv
 
Mensajes: 2176
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Buscar todos los caracteres y pintar

Notapor physic » Vie Dic 21, 2018 4:54 am

saludos sr. mriosv ,

                gracias por la ayuda .

                su solución inicial es buena, resuelve la situación para encontrar los caracteres de la hoja de cálculo 2 .

                pero estoy desarrollando un proyecto de automatización, así que tengo que resolver este problema con la macro .

                sin embargo, su idea es buena, puede ayudar a otros con un problema parecido .


abrazos amigo .
LibreOffice 5.4.4.2 >>> Windows 7
physic
 
Mensajes: 85
Registrado: Lun Oct 29, 2018 12:55 am

Re: Buscar todos los caracteres y pintar

Notapor fornelasa » Mié Dic 26, 2018 7:58 pm

Mira la misma macro VBA con unas ligeras correcciones y creo funciona.
Saludos.
Adjuntos
buscar caracteres.ods
Buscar caracteres.
(14.96 KiB) 104 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Buscar todos los caracteres y pintar

Notapor physic » Mié Dic 26, 2018 8:27 pm

[Resuelto]

              muchas gracias por su ayuda sr. fornelasa , funciona perfecto . :bravo:

              buenas fiestas . :super:


abrazo amigo .
LibreOffice 5.4.4.2 >>> Windows 7
physic
 
Mensajes: 85
Registrado: Lun Oct 29, 2018 12:55 am

Re: [Resuelto] Buscar todos los caracteres y pintar

Notapor fornelasa » Jue Dic 27, 2018 1:34 am

Esta sería la versión OooBasic de Calc
Código: Seleccionar todo   Expandir vistaContraer vista
Sub Codigolocalizar()
            doc = ThisComponent
           hoja = doc.Sheets.getByName("Planilha2")     
         cursor = hoja.createCursorByRange(hoja.getCellRangeByName("B1"))           
         cursor.collapseToCurrentRegion
          hoja1 = doc.Sheets.getByName("Planilha1")     
        cursor1 = hoja1.createCursorByRange(hoja1.getCellRangeByName("A1"))           
        cursor1.collapseToCurrentRegion   
     For vLinha = 1 To cursor1.getRangeAddress.EndRow
        vCodigo = hoja.getCellByPosition(1, vLinha).String
     If vCodigo = "" Then                 
        Exit Sub
     End If                     
    For vLinha2 = 1 To cursor1.getRangeAddress.EndRow
        If hoja1.getCellByPosition(0, vLinha2).String = "" Then Exit For
        If hoja1.getCellByPosition(0, vLinha2).String Like "*" & vCodigo & "*" Then
           hoja1.getCellByPosition(0, vLinha2).CharColor  = 16711680
           hoja1.getCellByPosition(0, vLinha2).CharWeight = com.sun.star.awt.FontWeight.BOLD
        End If
     Next
     Next     
End Sub
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [Resuelto] Buscar todos los caracteres y pintar

Notapor physic » Jue Dic 27, 2018 3:08 am

se quedó perfecto ! :bravo: :bravo: :bravo:

muchas gracias . :super:
LibreOffice 5.4.4.2 >>> Windows 7
physic
 
Mensajes: 85
Registrado: Lun Oct 29, 2018 12:55 am


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados