[RESUELTO] Ver las características del texto seleccionado

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Ambrosio
Mensajes: 24
Registrado: Lun Abr 23, 2018 6:33 pm

[RESUELTO] Ver las características del texto seleccionado

Mensaje por Ambrosio »

Hola,
Soy nuevo en este foro.
Había programado macros en VBasic para MS Word. Estoy intentando trasladarlas a Libre Office Writer.
En VBasic al seleccionar un texto podía conocer sus características modificarlas.
En OOoBasic no encuentro cómo hacerlo.
Pongo un ejemplo en VBasic:

Código: Seleccionar todo

REM  *****  BASIC  *****

Option Explicit

Sub CreceText()
    Selection.WholeStory	'selecciona todo el texto
'puedo modificar las características de la tipografía,
'actuando sobre todo el texto; si hay distintas tipografías el atributo a modificar tiene
'que ser el mismo en todas ellas (si no, aparece mensaje de error) 
' en este ejemplo el tamaño de la letra, que se incrementará cada vez que se ejecute la macro
	With Selection.Font		
        .Name = ""
        .Size = Selection.Font.Size + 2
        .Scaling = 100
'puedo ofrecer mensajes al usuario ante determinados valores
        If Selection.Font.Size = 48 Then
            MsgBox "La letra parece ya demasiado grande"
        ElseIf Selection.Font.Size = 8 Then
            MsgBox "La letra parece ya demasiado "
        End If
    End With
End Sub
Agradecería si alguien pudiera indicarme cómo conseguirlo en OOoBasic
Gracias por adelantado,
Ambrosio
Última edición por Ambrosio el Jue Abr 26, 2018 6:16 pm, editado 1 vez en total.
windows 7 // LibreOffice_5.4.5_Win_x86
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Ver las características del texto seleccionado -OOoBasic

Mensaje por fornelasa »

Tal vez algo similara a esto:

Código: Seleccionar todo

Option Explicit
Sub CreceText()
   Dim tc, ctrl, doc, disp, Selection

       tc = ThisComponent
     ctrl = tc.currentController
      doc = ctrl.Frame      
     disp = createUnoService("com.sun.star.frame.DispatchHelper")
      disp.executeDispatch(doc, ".uno:GoToStartOfDoc", "", 0, Array())
      disp.executeDispatch(doc, ".uno:EndOfDocumentSel", "", 0, Array())
      
Selection = tc.getCurrentSelection().getByIndex(0)

      With Selection
		  .CharFontName = ""
		  .CharHeight = .CharHeight + 2
		  .CharScaleWidth = 100   
       If .CharHeight = 48 Then
           MsgBox "La letra parece ya demasiado grande"
   ElseIf .CharHeight = 8 Then
           MsgBox "La letra parece ya demasiado chica"
   End If  
      End With
     
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
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Ver las características del texto seleccionado -OOoBasic

Mensaje por mauricio »

Si al trabajar de forma manual en Writer, es mucho más eficiente el usar estilos, por código se convierte en la mejor opción, cambian el estilo de los párrafos, cambia todos los párrafos que tengan dicho estilo:

Código: Seleccionar todo

 
doc = ThisComponent
style = doc.getStyleFamilies().getByName("ParagraphStyles").getByName("Standard")
style.CharHeight = style.CharHeight + 2
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Ambrosio
Mensajes: 24
Registrado: Lun Abr 23, 2018 6:33 pm

Re: Ver las características del texto seleccionado -OOoBasic

Mensaje por Ambrosio »

Hola,

Muchas gracias, funciona perfectamente. Además me has enseñado aspectos de programación distintos a VBasic que investigaré.
Entiendo las posibilidades de los estilos, pero intento facilitar el acceso fácil a parámetros de formato que no aparecen en las barras de herramientas para usuarios con dificultades ante la lectura (separación entre letras, palabras y líneas), de forma que autónomamente puedan adaptarlos a sus preferencias.

Gracias de nuevo,
Ambrosio
windows 7 // LibreOffice_5.4.5_Win_x86
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Ver las características del texto seleccionado -OOoBasic

Mensaje por mauricio »

Todo lo que dices, se logra más fácilmente con estilos.

Por favor, si consideras que el tema ha sido resuelto, marcalo como tal, mira en: ¿Cómo marcar como RESUELTO un tema?, de esta forma, conseguiremos un Foro más ordenado.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Ambrosio
Mensajes: 24
Registrado: Lun Abr 23, 2018 6:33 pm

Re: Ver las características del texto seleccionado -OOoBasic

Mensaje por Ambrosio »

Gracias por tus consejos
Ambrosio
windows 7 // LibreOffice_5.4.5_Win_x86
Responder