TOP

Title Case Función para LibreOffice Calc

TITLECASE() Descripción

La función TITLECASE() está diseñada para convertir texto existente en título casetbl y devuelve un conjunto de palabras en el formato: "Función para título Case".

El código de función Title Case reemplaza delimitadores como guiones y guiones bajos con espacios, convierte todas las palabras a mayúsculas y convierte las conjunciones a minúsculas.

Title Case puede resultar útil para corregir casos en titulares de noticias, títulos de artículos de sitios o títulos de vídeos de YouTube.

TITLECASE() es similar a la función estándar PROPER(), excepto que las conjunciones no están en mayúscula.


BASIC Código para TITLECASE()

Aquí está el código de macro para crear una función personalizada que puede mostrar texto como títulos (Title Case) en LibreOffice Calc.

Abra el menú Tools - Macros - Edit Macros..., seleccione Module1 y copie el siguiente texto en el módulo:

Function TitleCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim words As Variant
  Dim FCalc As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")  
    
  oddWordsLat = "A|An|And|As|At|But|By|En|For|If|In|Is|Of|On|Or|The|To|Vs|Via"
  oddWordsCyr = "І|Як|На|Але|Для|Якщо|В|Чи|До|Через|Та|Від|Під|Над|И|Как|Но|То|Или|От|Под|К"  
  words = Split(oddWordsLat + "|" + oddWordsCyr,"|") 
  
  str = FCalc.callFunction("PROPER", Array(str))  
  
  For i = LBound(words) To UBound(words)  
    pattern = "(?!^)\b" + words(i) + "\b"
    replacement = LCase(words(i))
    
    str = FCalc.callFunction("REGEX", Array(str,pattern,replacement,"g"))
  Next i
    
  TitleCase = str
End Function

Luego cierre Macro Editor, regrese a LibreOffice Calc y use nuestra nueva función en cualquier celda.