TOP

Sentence Case LibreOffice 的函数 Calc

SENTENCECASE() 描述

函数 SENTENCECASE() 旨在将现有文本转换为句子格式,并返回以下形式的一组单词:“Sentence case function”。

Sentence Case 将由句点、感叹号或问号分隔的行分成单独的句子。然后,将句子中除第一个字母之外的所有单词转换为小写,然后将所有元素合并为一个连续的文本。

SENTENCECASE() 函数可用于纠正整个文本中句子中字母的大小写。


BASIC SENTENCASE() 的代码

以下是用于创建自定义函数的宏代码,该函数可以对 LibreOffice Calc 中的句子 (Sentence Case) 中的单词进行大小写调整。

打开菜单 Tools - Macros - Edit Macros...,选择 Module1 并将以下文本复制到模块中:

Function SentenceCase(ByVal str As String) As String
  'moonexcel.com.ua
  Dim sentences As Variant
  Dim i         As Integer
  Dim FCalc     As Object
    
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")    
  
  str = Replace(str,"-"," ")
  str = Replace(str,"_"," ")
  str = FCalc.callFunction("TRIM", Array(str))
  str = LCase(str)
  str = FCalc.callFunction("REGEX", Array(str,"([.!?])(\s)(\w)","$1#$3","g"))
  
  sentences = Split(str, "#")
    
  For i = LBound(sentences) To UBound(sentences)       
    sentences(i) = UCase(Left(sentences(i), 1)) & Mid(sentences(i), 2)       
  Next i
    
  SentenceCase = Join(sentences," ")
End Function

然后关闭 Macro Editor,返回到 LibreOffice Calc 并在任何单元格中使用我们的新函数。

使用 YouLibreCalc 扩展

您还可以通过设置扩展名“来使用 SENTENCASE() 函数” YouLibreCalc.oxt ”。此后,该功能将在所有在 LibreOffice Calc 中打开的文件中可用。